如果python.exe正在运行特定文件,请进行批处理测试

时间:2017-09-29 19:18:19

标签: windows cmd

我正在为python服务创建一个web控制器,以便用户可以启动和停止服务。我需要知道服务是否正在运行。

我想检查python是否从cmd运行我的脚本。 echo 1如果正在运行我的脚本echo 0

如:

if (python is running bot.py) (
    echo 1
)

2 个答案:

答案 0 :(得分:1)

在普通cmd中有点棘手,但这似乎有效:

@echo off
tasklist.exe /V /FI "IMAGENAME eq cmd.exe" /FO LIST | find "bot.py" >nul
if ERRORLEVEL 1 (
   echo 0
) else (
    echo 1
)

答案 1 :(得分:0)

你可能最好有一个由运行的机器人创建的文件,其中包含它们的PID,然后检查是否存在这个文件。它可以让你获得PID,但它确实依赖于干净地终止进程。

这与锁定文件类似,可用于同时停止在同一数据上运行的程序的2个实例。