windows守护进程脚本

今天早上起来的时候发现电驴5点钟的时候挂了,于是有几个应该已经下完的东西还停留在95%的样子。郁闷之外想写个守护进程的脚本,上网搜了下找到这位同学的博客 http://thubigtree.spaces.live.com/Blog/cns!425ECAF90EEDA1A2!328.entry,略加修改便拿来用了。

首先是crontab.cmd文件(如果在unix/linux下用crontab那真是很简单的事了= =)
:RESTART
tasklist /FI "username eq administrator" | find /C "emule" > temp.txt
set /p num=<temp.txt
del /F temp.txt

if %num%==0 start /D "D:\Program Files\emule\" emule

cscript //nologo sleep.vbs
goto RESTART

tasklist是显示所有进程列表,/FI过滤出特定用户的进程,|是管道符么,windows下也有管道符么。。作用是将前面的输出作为后面的输入,find查找指定字符串,/C输出指定字符串出现的数量。只要驴子当掉了,find到的数量应该是0,则重新启动驴子。

cscript //nologo sleep.vbs这句是执行vbs脚本。sleep.vbs作用就是sleep一定时间(等于没说吧喂!),就一行内容,时间多少自行设定,我定了10分钟,是不是太短了呢?
wscript.sleep(600000)

这样就OK了,运行crontab.cmd应该就能起到守护作用了吧?(什么叫应该啊自己验证下啊混蛋)

不过,为了一些执着的怨念,我还要加上一个vbs脚本,来让难看的cmd窗口不用显示,crontab.vbs内容如下:
createobject("wscript.shell").run "crontab.cmd",0

后面的参数0就表示不显示cmd窗口。

好了,再做点表面工程,把crontab.vbs拖个快捷方式到桌面,改个名,换个好看的图标,好,完成了。

你可能感兴趣的:(c,windows,linux,unix,脚本)