【发布时间】:2012-05-01 01:33:25
【问题描述】:
我正在将我的 Perl 作为 Windows 上的服务软运行。
为此,我使用 Win32::Daemon 模块来操作 SCM(服务配置管理器)并启动/停止我的服务。
为了启动我的服务,我使用 system() perl 命令。
命令如下:
START \"title\" /Dc:\\path\\to\\bat\\script\\dir\\ \"script.bat\"
当我直接从 cmd.exe 启动这个命令时,进程的标题已经设置好了。
通过我启动的服务启动命令时,进程的标题为空。 任务管理器说启动的命令是:
cmd /c ""C:\path\to\script.bat" "
我错过了什么吗?
注意:我肯定会尝试为我的服务设置标题,因为我没有找到比在服务的停止挂钩中启动“taskkill”命令更简洁的方法来停止它,标题名称为一个参数(不知道怎么抓到生成进程的PID)
谢谢。
【问题讨论】:
标签: perl windows-services cmd win32-process