Windows 10的很多系统服务是在后台运行,这样既隐蔽又可以在每个用户登录前就自动运行。如果我们自己的程序想实现类似的效果,比如公司的网站要使用Nginx作为电子邮件代理服务器,为了方便使用,需要将其作为服务启动,借助Srvstart(https://github.com/rozanski/srvstart)就可以实现。
小提示:
由于系统服务在后台运行不支持交互界面,因此并不适合于QQ、微信这类程序,否则其仅仅在后台运行而无法查看消息。
Srvstart是绿色软件,下载后将全部4个文件先解压到桌面,接着再将所有文件全部复制到“C:\Windows”即可(图1)。
启动记事本,按下列格式输入代码,并将其保存为“1.ini”文件,放置在D:\备用(其中Nginx 为服务名称,“startup=”后面输入需要启动的程序的完整路径):
[Nginx]
startup="D:\nginx\nginx.exe"
接着以管理员身份启动命令提示符,输入“SC CREATE Nginx Displayname= "Nginx" binpath= "srvstart.exe Nginx -c D:1.ini" start= auto”,屏幕提示“[SC] CreateService 成功”,表示成功安装了服务(图2)。
代码解释:
CREATE Nginx 和Displayname= "Nginx"表示创建服务名称和显示名称均为Nginx,“binpath=”后面是使用srvstart.exe程序安装服务,并将服务设置为自动启动。这里注意每个“=”后面都要使用一个半角空格与后面的参数隔开,配置文件路径的写法为“D:1.ini”,注意不要写为“D:\1.ini”。
现在打开服务设置窗口,在其中就可以看到上面新建的名为Nginx的服务,打开属性窗口可以看到其运行的命令为“srvstart.exe Nginx -c D:1.ini”。这样在下次启动系统后,会根据这个命令启动nginx.exe(即D:\1.ini配置文件中“startup=”后的程序)。以后在后台就可以使用Nginx服务了,这样既可以隐蔽运行,又可以在服务器需要重启时自动启动(图3)。
小提示:
如果后续不再使用这个服务,以管理员身份启动“C:\Windows\svc.exe”后按提示输入r,回车后再输入nginx(即服务名称),最后输入x退出即可。