检查应用程序是否仍在批处理文件中运行?

时间:2008-11-13 06:55:00

标签: windows batch-file taskmanager

如何使用批处理文件检查应用程序是否仍在运行?如果应用程序仍在运行,则此过程将一次又一次地循环。否则,会出现错误信息。

非常感谢

4 个答案:

答案 0 :(得分:5)

在Windows中,您可以使用pstools pslist通过使用.cmd脚本来检查进程名称是否正在运行,如下所示。如果进程正在运行,Pslist将返回ERRORLEVEL 0,否则返回1。

@echo off

CommandYouWillRun.exe

rem waiting for the process to start
:startcmd
sleep 1
c:\path\to\pslist.exe CommandYouWillRun > NUL
IF ERRORLEVEL 1 goto startcmd

rem the process has now started

:waitforcmd
sleep 1
c:\path\to\pslist.exe CommandYouWillRun > NUL
IF ERRORLEVEL 1 got finished
goto waitforcmd

:finished
echo "This is an error message"

答案 1 :(得分:2)

Linux?

ps aux | grep任务| wc -l <​​/ p>

其中task是任务的名称(例如“apache2” - 不需要引号)

答案 2 :(得分:1)

您可以编写一个powershell脚本并使用带过滤的get-process。

http://www.computerperformance.co.uk/powershell/powershell_process.htm

答案 3 :(得分:0)

也许你的意思是任务列表?您可以从命令行运行它以获取Windows中所有正在运行的进程...对于您要求的其余部分我认为您需要更具体。