本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Windows程序转换成服务
公司有程序需要在windwos服务器上运行,有时候需要重启服务器等,虽然做成开机自启,但是windwos服务器试了很多次,程序自启都需要登陆一下界面才可以启动,无法达到预期效果,所以想把程序转换成服务。
一、下载两个文件instsrv.exe和srvany.exe,根据自身电脑环境放在C:\Windows\System32 或者C:\Windows\SysWOW64目录下。
在cmd命令下进入当前目录运行 C:\Windows\SysWOW64\instsrv MyServer C:\Windows\SysWOW64\srvany.exe 提示下面表示成功
二、注册表中为新建的MyServer 服务设置关联和参数:regedit打开注册表
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中找到新创建的MyServer ;
点击MyServer 选择“新建项”,将其命名为Parameters
选定Parameters,在右侧窗口建立三个字符串值:Application,AppDirectory和AppParameters
Application为应用程序文件的绝对路径:C:\automatic\automatic.bat
AppDirectory的数值数据设置为上一步exe文件存放的文件夹:C:\automatic\
三、计算机——管理——服务中启动MyServer服务。
只能设置exe和bat的运行程序,运行python等程序,可以写成bat脚本运行。不然会报错。
windows的bat运行程序
新建一个bat程序,下面是启动两个不同目录的程序
- /k: 表示新窗口打开
- call: 表示执行.bat文件
c:
cd C:\opencv
start "test-app-1" cmd /k call index.py
c:
cd C:\jingshuo
start "test-app-2" cmd /k call jingshuocv.py
exit
通过以上可以把要执行的程序变为服务,通过服务可以管理程序,因为虽然会设置开机自启,但是windows的机制,很多程序在开机后,并没有自动运行,好了,不啰嗦了。