2014-05-01 182 views
1

我想获得一个Perl脚本作为Windows服务安装。用于实验的目的Perl代码非常简单(见下文)安装Perl脚本作为Windows服务

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正在等待启动()类型的函数来执行,但我只是在这里猜测。话虽如此,我会期望Windows安装服务时检查/照顾它?不知道:)

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

如果任何人都可以指向我的Perl(或DOS )脚本已被安装为Windows服务和安装它的代码 - 我将非常感激。

的信息 - 我已经冲刷网页,很多人都在谈论使用INSTSRVSRVANYPDK - 所有这一切,我此刻没有进入。

谢谢

特雷弗

+2

谷歌搜索出现了一些可能的解决方案,例如[this](http://www.perlmonks.org/bare/?node_id=435700),它使用了'Win32:Daemon'软件包。 –

+0

谢谢大卫,我也遇到过,我的Perl安装没有安装Win32 :: Daemon - 除非我错过了某些东西(完全可能) 我可能更密切地关注该模块,因为安装Perl模块比购买/安装第三方应用程序。 – thonnor

+0

@thonnor如果它没有安装...安装它:-) –

回答

1

对于它的价值,SRVANY是相当有限。例如,它不能停止服务。我建议你看看nssm。我有一个cpan模块,使它更易于使用,名为Win32::ServiceManager