我有一个perl脚本,它是使用pp编译的,在Windows 7机器上作为Windows服务运行。 我看了线程http://www.perlmonks.org/index.pl?node%5Fid=230377,但没有多大用处,因为他们大多数不清楚,build议的解决scheme是创build可执行文件,而不是实际上作为Windows 7服务运行。 我试图把我编译的exe文件放在windows的计划任务中,但我认为它不能运行的原因。 我如何debugging?
您可以通过使用命令行中的sc.exe命令以pipe理员身份在Windows 7中创build服务。 这是你如何做到的。
转到开始 – >所有程序 – >附件,然后右键单击“命令提示符”。 从popup菜单中select“以pipe理员身份运行”。
进入命令提示符后,使用以下命令创build服务。 请注意, binPath=之后有一个空格,并且是必需的。
sc create perlsvc binPath= c:\myprogram\myperlprg.exe
这将创build一个名为perlsvc的服务,在服务启动时执行c:\ myprogram \ myperlprg.exe。 如果你现在运行services.msc你应该看到你的服务列出。 您的服务将被设置为在此时手动启动。 您可以在刚刚启动的服务程序中或通过创build服务时的选项来更改它(请参阅本文末尾的链接)。
值perlsvc用作服务1的registry项,也用sc和net命令引用该服务。 保持简短并且没有空格是最好的。 如果您想要更具描述性的内容,可以附加DisplayName=选项。 再次注意等号后的强制空格。
sc create perlsvc binPath= c:\myprogram\myperlprg.exe DisplayName= "Important Perl Service"
运行services.msc时,您将看到“Important Perl Service”作为服务名称。 当您运行net start以查看CLI中正在运行的服务列表时,也会显示此名称。 您仍然可以在CLI中使用短名称,例如net start perlsvc 。
如果你不再需要你的服务,运行sc delete perlsvc ,它将被删除。
如果您打算编写服务的安装脚本,则可能有兴趣阅读有关Microsoft网站上logging的sc的其他选项 。
1服务位于HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servicesregistry项中。
尝试使用SC.exe将EXE转换为Windows服务。