Python是一個功能強大的編程語言,可以用來監控本地進程。為了監視本地進程,我們可以使用Python的標準庫中的subprocess模塊。下面是一個使用subprocess模塊的示例程序:
import subprocess def check_process(process_name): output = subprocess.check_output(["ps", "aux"]) processes = output.decode("utf-8").strip().split("\n") for process in processes[1:]: fields = process.split() name = fields[10] if name == process_name: print(f"{name} is running with process ID {fields[1]}") return True print(f"{process_name} is not running") return False check_process("firefox")
在上面的示例程序中,我們首先導入了subprocess模塊。然后,我們定義了一個名為check_process的函數,該函數接受一個進程名作為參數。該函數調用ps命令來獲取當前運行的進程列表。我們使用check_output函數來執行ps命令,并將結果存儲在output變量中。然后,我們將output解碼為UTF-8編碼,并使用split函數將其拆分為進程列表。
接下來,我們遍歷進程列表,將每個進程拆分為字段,并提取進程名稱(在第11個字段中)。如果進程名稱與所提供的進程名稱匹配,則我們打印進程名稱和進程ID,并返回True。如果我們遍歷完整個進程列表并找不到匹配的進程,則我們打印進程未運行的消息,并返回False。
在最后一行中,我們調用check_process函數來查找名為firefox的進程。如果該進程正在運行,我們將看到一個消息,指示該進程正在運行,并列出其進程ID。否則,我們將看到一個消息,指示該進程未運行。