批处理 如何检测某个程序是否在运行

批处理 如何检测某个程序是否在运行,第1张

bat是解释脚本,所以运行时并不是bat本身在运行,而是它的解释器cmd.exe在运行。您这个思路应该不行。

有一个折衷的办法,就是b.bat在运行开始写一句@echo A>runlog.txt,在结尾在握乎写一句@echo Z>runlog.txt。

您检测的批处理可以循环读取runlog.txt的内容,直接腔棚写

@if exist runlog.txt (

@set /p runcheck=<runlog.txt

@if %runcheck%==A (

@echo b.bat在运段圆悉行

) else (

@echo b.bat未运行

)

) else (

@echo b.bat位运行

)

在Windows下这个很唤裂难,因为jar程序都是要java.exe或javaw.exe来加载的,所以一旦运行,进程中就是显示java.exe了,但其他java环境程序也都显示java.exe,所以通过进程没法判断。

不过有个折衷的办法,您可以修改demo.jar,在程序启动时,在某个特定位置写一个和御闭demo_running.st的文本文件,在程序退出时再删除它。这样就可以用另一个程序,判断是否存在这拆源个文件,来确定demo.jar是否运行了。

批处理判断一个文件是否存在可以这样写:

@if exist c:\temp\demo_running.st (

@echo demo.jar is running

) else (

@echo demo.jar is not running

)

上面这段放在批处理文件中也行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12543622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存