我正在让我的 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)
谢谢。