在 Python 中監控子進程(Process)可以使用subprocess
模塊。subprocess
模塊允許您創建新的進程、連接它們的輸入/輸出/錯誤管道,并獲取它們的返回值。
以下是一個簡單的示例,演示如何監控子進程的運行狀態:
import subprocess
# 啟動子進程
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
# 監控子進程狀態
while process.poll() is None:
print("子進程仍在運行...")
# 獲取子進程的返回值
return_code = process.returncode
print("子進程返回值為:", return_code)
在上面的示例中,我們使用Popen
方法啟動了一個ls -l
的命令,并通過poll()
方法監控子進程的狀態。一旦子進程執行完畢,poll()
方法返回None,我們可以通過returncode
屬性獲取子進程的返回值。
除了上面的方法,您還可以利用subprocess
模塊的其他功能來監控子進程的運行狀態,比如使用communicate()
方法來等待子進程結束并獲取其輸出。具體使用方法可以查閱官方文檔:https://docs.python.org/3/library/subprocess.html
另外,如果您需要更高級的功能來監控進程,可以考慮使用第三方庫psutil
,它提供了更多的進程管理功能。您可以通過psutil
來獲取更詳細的進程信息、監控系統進程等。您可以通過官方文檔了解更多信息:https://psutil.readthedocs.io/en/latest/