最近工作中需要将perl脚本配置成windows的后台服务,google了好久,终于搞定,分享如下:
1:准备工作
配置windows后台服务,需要下载两个文件:instsrv.exe 和 srvany.exe(这个google一下有很多下载链接的)。
instsrv.exe是微软Windows Server 2003 Resource Kit Tools工具中的一个用于添加和删除系统服务。
srvany.exe是Windows NT及以后版本中的Windows Resources Kit的一部分,是一个Windows附加程序,用于将一个程序注册为一个服务,它可以使普通用户以Windows 服务的方式运行普通的应用程序。
2:安装srvany附加程序
CMD,进入instsrv.exe所在目录。执行如下命令:
INSTSRV NAME_OF_SERVICE C:/WINNT/SRVANY.EXE
注:NAME_OF_SERVICE ---- 需要配置的服务名,如:test.pl 或者 myservice。注意保证服务名的唯一性。
C:/WINNT ---- 这个为文件SRVANY.EXE的实际目录。
3:进入注册表
Run ---- regedit
4:编辑服务
HKEY_LOCAL_MACHINE --- SYSTEM --- CurrentControlSet --- Services --- NAME_OF_SERVICE
注:可以看到 NAME_OF_SERVICE 下包含两个文件夹:Enum 和 Security
NAME_OF_SERVICE ---- 上面定义的名字
5:新建key(Parameters)
选中 NAME_OF_SERVICE -> 点击右键 -> new -> key -> 输入key名为“Parameters”
6:编辑新key(Parameters)
选中 Parameters -> 点击右键 -> new -> String Value -> 输入value name 为“Application”
选中 Parameters -> 点击右键 -> new -> String Value -> 输入value name 为“AppParameters”
7:编辑 Application 值
选中 Application -> 点击右键 -> Modify -> 输入value data 为“C:/PXPerl/bin/perl.exe”
注:C:/PXPerl/bin/perl.exe 该值为perl的安装路径。
8:编辑 AppParameters 值
选中 AppParameters -> 点击右键 -> Modify -> 输入value data 为“D:/Test_Code/Server.pl”
注:D:/Test_Code/Server.pl 该值为perl脚本的全路径。
9:查看service
控制面板(Control Panel) -> 管理工具(Administrative Tools) -> 服务(services)
注:找到自己配置的服务,可以编辑服务的启动方式了。
配置其它应用程序也和该步骤一致,只是Application和AppParameters的值有所变化。