winsw:在github/gitee可以了解他注册服务的方法及下载地址
# phpScript.xml
<service>
<id>phpScript</id>
<name>phpScript</name>
<description>php脚本监听</description>
<executable>%BASE%\1.bat</executable>
<startarguments>start</startarguments>
<stopexecutable>C:\Windows\System32\taskkill.exe</stopexecutable>
<stoparguments>/f /t /im winsw.exe</stoparguments>
<logpath>%BASE%\logs</logpath>
<log mode="roll-by-time">
<pattern>yyyyMMdd</pattern>
</log>
</service>
# 安装脚本监听服务
WinSW install phpScript.xml
# 启动脚本监听服务
WinSW start phpScript.xml
#1.bat
@echo off
set mtitle=123321
set MPID=0
title %mtitle%
echo 队列1
goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
for /f "tokens=1" %%i in (H:\web\11.pid) do (set MPID=%%i)
if "%1" == "stop" (
echo 结束进程
taskkill /f /pid %MPID%
) else (
timeout /t 5
for /f "tokens=1" %%i in ('tasklist /nh /FI "PID eq %MPID%"') do (
if '%%i' == 'php.exe' (
echo "pid:%MPID% is running"
) else (
echo "pid:%MPID% is stoped"
start cmd /C H:\web\startPhpScript.bat pause
)
)
)
goto begin
# startPhpScript.bat
echo "启动php脚本"
php 1.php
#1.php
<?php
file_put_contents('11.pid', getmypid() . PHP_EOL);