我正在爲python服務製作一個web控制器,以便用戶可以啓動和停止服務。我需要能夠知道服務是否正在運行。批處理測試如果python.exe運行特定文件
我想檢查python是否從cmd
運行我的腳本。 echo 1
如果正在運行我的腳本,否則echo 0
如:
if (python is running bot.py) (
echo 1
)
我正在爲python服務製作一個web控制器,以便用戶可以啓動和停止服務。我需要能夠知道服務是否正在運行。批處理測試如果python.exe運行特定文件
我想檢查python是否從cmd
運行我的腳本。 echo 1
如果正在運行我的腳本,否則echo 0
如:
if (python is running bot.py) (
echo 1
)
你很可能是最好關閉具有被運行中的機器人創建了一個文件,其中包含其PID,然後檢查了這個文件的存在。它可以讓你獲得PID,但它確實依賴於被幹淨地終止的進程。
這與鎖文件類似,它可以用來停止同時在同一數據上運行的程序的2個實例。
它是在普通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
)
不清楚你在問,請編輯和添加更多的細節什麼 – TomEus
添加排序爲例 – BaleineBleue
,你可以創建一個實際的使用PyWin32的Windows服務。可以使用服務API或通過sc.exe從命令行啓動,停止和查詢服務。 – eryksun