[服务器]进程守护

bat脚本中常用%errorlevel%表达上一条命令的返回值,即命令执行状态码、也称命令退出码

一般上一条命令的执行结果返回的值只有两种,0和非0 (如常见的1,2,4,5,9009等等),0一般会被视为成功,非0为失败或者异常

对于9009,在cmd中经常会发生输入的命令错误,或者不存在的命令,这时就会返回9009这种状态码,

10秒轮询

:start

choice /t 10 /d y /n >nul
tasklist|find /i " WeChat.exe" 

if %errorlevel%==0 ( 
	echo 微信已存在
) else (
	echo 微信不存在,启动
                start D:\WeChat\WeChat.exe
)
goto start 
:start
choice /t 10 /d y /n>nul
tasklist|find /i " WeChat.exe" 

if %errorlevel%==0 ( 
	echo wechat start
) else (
	echo  wechat not
	start D:\WeChat\WeChat.exe
)
goto start 

简单粗暴

:Restart
start /i /wait D:\WeChat\WeChat.exe
start /i /wait D:\WXWork\WXWork.exe
goto Restart
:Restart
tasklist|find /i " WeChat.exe"  || start /d "D:\WeChat\" WeChat.exe && start /d "D:\WeChat\" WeChat.exe
goto Restart

直接点

:Restart
start /wait C:\pan\软件\WM系统服务器009\WM服务器程序.exe
goto Restart

你可能感兴趣的:([折腾日常],服务器,linux,运维)