程序运行出现异常,或不小心给别人关掉时如何用它自动启动。可使用守护进程进行监护。在Widows下用批处理命令做守护进程。
批处理命令
@echo off
set _svr=C:\Windows\notepad.exe
set _des=start.bat
:checkstart
tasklist /FI "username eq administrator" | find /C "notepad.exe" > temp.txt
set /p num=<temp.txt
del /f temp.txt
echo %num%
if %num%==0 (
echo "no process start "
goto startsvr)else (
echo "checking "
goto checkag)
:startsvr
echo %time%
echo ********程序开始启动********
echo 程序重新启动于 %time% ,请检查系统日志 >> restart.txt
echo call %_svr% > %_des%
echo exit >> %_des%
start %_des%
set/p=.<nul
for /L %%i in (1 1 10) do set /p a=.<nul&ping.exe /n 2 127.0.0.1>nul
echo .
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 20000
del %_des% /Q
echo ********程序启动完成********
goto checkstart
:checkag
echo %time% 程序运行正常,10秒后继续检查..
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
goto checkstart
将上面代码保存到guard.cmd文件
如果不想显示守护进程页面可使用vb隐藏
createobject("wscript.shell").run "guard.cmd",0
rem 0 表示不显示
将上面代码保存为 guard.vbs文件
启动时只需点击guard.vbs