欢迎您访问我的笔记本站旨在于记录一些平时工作中遇到的一些问题和解决方法,方便查阅,部分内容来源于网络,如有侵权请联系我删除
  • 微信微信
您现在的位置是:首页 > PHP后端

在windows下使用nssm将脚本文件封装成系统服务-[原创]

日期:2019-09-12 09:53:27 作者:tanyi 来源:我的笔记 浏览:1943 次
相信大家都知道在windows系统下面实现守护进程是比较麻烦的,而我们有很多启动脚本确实是需要守护进程,这个时候如果能把这些脚本启动加入到windows的系统服务里面,那我们就可以像启动apache,mysql一样,让他在后台运行,而不用一直打开cmd窗口。

nssm是一个服务封装程序,它的的功能也非常强大,我所用到的只是它里面其中一个功能罢了,当然其他的目前也没去深入研究,只要能满足我现在的需求就可以了。

首先下载压缩包,然后解压到合适的目录里面,解压出来会有这些目录。

image.png

根据自身系统进入对应的目录,分别有32位和64位系统,进入到对应目,记住是在cmd命令窗口里面操作,进入到对应目录后执行:nssm install,这时会弹出一个窗口,如图。

image.png

写一个启动文件脚本,去执行你要启动的程序,比如一般我们新建了一个workerman的启动文件demo.php,我们一般在cmd执行的时候是这样:php demo.php ,这里前提是你已经设置好了php的环境变量才行,不然你需要写php的完整路径,如:D:/php7/php.exe demo.php,启动成功后必须保持cmd窗口是打开状态,因为只要你关闭cmd窗口,workerman服务也就关闭了。

现在有了nssm,我们不用再一直开启这烦人的窗口。

首先我们写一个bat脚本来执行workerman启动文件,脚本内容大致是:php.exe的绝对路径 -q 执行文件的绝对路径,比如:

D:\php-7.2.1-nts\php.exe -q D:\WWW\demo.php

这里我们这个bat脚本就是启动demo.php这个workerman服务,将这个bat文件命名为demo_server.bat,然后在nssm打开的窗口里面脚本路径项选中到这个bat,然后填写自己想命名的服务名称,最后点击 Install service 即可,ok,最后我们直接去系统服务里面找到刚添加的服务然后像启动apache,mysql一样点击启动就ok了。

这是我添加的测试启动项:

image.png

PS:打开windows左下角搜索栏输入:services.msc 按回车 快速进入到服务界面

下载地址:下载链接

提取码:b4g3

提交评论
评论列表