在Unix/Linux下判断一个程序是否已经运行的方法很简单(一般使用ps命令
就可以实现).但是在Windows下就没有相对应的命令可用,最后尝试一下使用
vbscript来解决这个问题.下面是一个判断的小例子.
例子: 每隔1分钟,判断winrar.exe进程是否存在,然后给出提示信息.
do
Set wsShell = CreateObject("Wscript.Shell")
dim OK, flag
OK=False
flag=0
set bag=getobject("winmgmts:\\.\root\cimv2")
set pipe=bag.execquery("select * from win32_process where name='WinRAR.exe'")
For Each id In pipe
OK = True
Next
If not OK Then
'wsShell.Run "cmd /c dir ",vbhide
Wscript.Echo "Not OK"
flag=flag+1
else
Wscript.Echo "OK"
flag=flag+1
end if
Wscript.sleep 600
loop until flag >0
这个例子在Windows 2003下跑得很好,记录一下,备忘.