如何让结束运行的服务器程序自动重新运行
本人做了一个基于socket连接的客户端服务器程序,客户端不停地给服务器发数据,服务器不停地收数据。现在我想实现以下功能:万一服务器程序可能会崩溃或者异常结束运行,这时候我希望服务器程序能够自动重新启动运行,请问如何实现这个功能啊?
[解决办法]
自身重启是Vista之后引入的功能,不过我觉得如果是服务器程序的话,可以写成后台服务,在services.msc里可以设置为自动。
[解决办法]
假设你的服务名称为mysrv,对应可执行文件名为mysrv.exe,写一个批处理a.bat内容为:
tasklist /FI "IMAGENAME eq mysrv.exe" | find "mysrv.exe"
echo %errorlevel%
if errorlevel 1 goto restart
goto :EOF
:restart
net start mysrv
在计划任务里设置每天某个时间运行这个a.bat
[解决办法]
做成系统服务,然后用sc failure srvName reset= 86400 actions= restart/5000 设置如果出错后5秒自动重启