可以使用Python的subprocess
模塊來判斷進程的狀態。
下面是一個示例代碼,可以通過調用subprocess.Popen
函數啟動一個進程,并使用poll
方法來判斷進程是否結束:
import subprocess
def check_process_status(process):
if process.poll() is None:
print("進程正在運行")
else:
print(f"進程已結束,退出碼為 {process.returncode}")
def main():
command = ["python", "test.py"] # 用于啟動的命令
process = subprocess.Popen(command)
check_process_status(process)
if __name__ == "__main__":
main()
在上面的代碼中,subprocess.Popen
函數用于啟動一個進程,并返回一個Popen
對象。然后可以使用poll
方法來檢查進程的狀態。如果返回值為None
,則表示進程仍在運行;如果返回值不為None
,則表示進程已結束,可以通過returncode
屬性獲取進程的退出碼。
注意:poll
方法只能檢查進程的結束狀態,并不能獲取進程的詳細信息。如果需要更詳細的進程狀態信息,可以使用psutil
庫,它提供了更多關于進程的操作和查詢方法。