Python是一種高級編程語言,廣泛用于開發Web應用程序、數據科學、機器學習、自然語言處理等領域。Python還提供了各種庫和工具,使開發人員能夠輕松監控其他進程。
Python提供了多種辦法監控其他進程。我們可以使用Python內置的os和subprocess模塊,或者第三方庫psutil。
import os # 獲取進程ID pid = os.getpid() # 獲取進程名 process_name = os.path.basename(__file__) # 獲取CPU占用率 cpu_percent = os.cpu_percent() # 獲取內存占用率 mem_percent = psutil.virtual_memory().percent
以上代碼展示了如何使用os模塊獲取進程和系統相關信息。
import psutil # 獲取進程列表 procs = psutil.process_iter() for proc in procs: # 獲取進程名 name = proc.name() # 獲取進程狀態 status = proc.status() # 獲取進程運行時間 uptime = psutil.Process(proc.pid).create_time()
以上代碼展示了如何使用psutil模塊獲取進程列表以及進程相關信息。
除了以上示例,還可以使用Python內置的signal模塊實現進程監控。可以使用signal模塊向進程發送信號,例如SIGTERM信號可以用于終止進程。
import signal import os # 定義信號處理函數 def sigterm_handler(signum, frame): # 打印信號名和進程ID print(f"Received SIGTERM in process {os.getppid()}") # 注冊信號處理函數 signal.signal(signal.SIGTERM, sigterm_handler)
以上代碼展示了如何使用signal模塊注冊信號處理函數。
總的來說,Python提供了豐富的工具和庫,使我們能夠輕松監控其他進程。開發人員可以根據自己的需求選擇最合適的監控方式。