将perl脚本安装为windows服务

时间:2014-05-01 13:04:50

标签: windows perl service

我正在尝试将Perl脚本安装为Windows服务。用于实验的Perl代码非常简单(见下文)

my $num = 1;

while( $num == 1 )
{
    open(FH, ">>", "C:\\Perl\\MyCode\\Service\\svclog.txt");
    print FH "hello world\n";
    close(FH);
    sleep 3;
}

我一直在尝试使用本机Windows SC命令安装脚本......

SC CREATE MyPerlService binpath= "C:\Perl\bin\perl.exe C:\Perl\MyCode\Service\perlsvc.pl" error= normal start= auto DisplayName= "My Perl Service" type= own

该服务安装正常。但我尝试启动它并收到一条消息,告诉我服务未能在分配的时间内启动。

不言而喻,我对Windows服务知之甚少。 我怀疑Windows正在等待执行start()类型的函数,但我只是在这里猜测。话虽如此,我还是希望Windows在安装服务时检查/提供服务? Dunno:)

我不能真正使用任何第三方产品,因为这是内部工作,并且整个软件订购过程需要数月和数月。理想情况下,我需要一些我可以使用/写入本机Windows XP / 2003或Perl 5.8.8(旧版本 - 是)的东西

如果有人能指出我作为Windows服务安装的Perl(或DOS)脚本示例的方向以及安装它的代码 - 我将非常感激。

获取信息 - 我浏览过网络,很多人都在讨论使用 INSTSRV SRVANY PDK - 所有其中我目前无法访问。

谢谢

特雷弗

1 个答案:

答案 0 :(得分:1)

对于它的价值,SRVANY非常有限。例如,它无法阻止服务。我建议看一下nssm。我有一个cpan模块,可以更容易地使用名为Win32::ServiceManager