2012-03-21 73 views
3

目前,我可以列出我用一個簡單的python腳本流程:的Python:進程/線程監控

進口OS 使用os.system(「任務列表」)

我想列出與之相關聯的所有線程這些進程,如果有的話。每個進程的線程數量可能就足夠了。

有人會指示我在哪裏可以找到這些信息。

謝謝。

回答

3

您可以使用psutil模塊(download here)進行跨平臺過程信息傳遞。

安裝後,使用下面的代碼來獲取任何進程ID的線程數。

import psutil 
for proc in psutil.process_iter(): 
    print proc.name+' ['+str(proc.get_num_threads())+' threads]' 
+0

優秀!非常感謝您的幫助。 – Huskeraider 2012-03-21 21:37:59

+0

所以爲了更深入我猜我應該學習psutil。那是對的嗎? – Huskeraider 2012-03-22 14:35:29

+1

@JeffUnderwood'os.system(「Tasklist」)'只能在基於Windows的平臺下工作,但psutil是跨平臺的,可以在許多其他系統上工作。他們說,「它[psutil]目前支持** Linux **,** Windows **,** OSX **和** FreeBSD **,都是** 32位**和** 64位* *,使用單一代碼庫,從** 2.4 **到** 3.3 **的Python版本。「它在http://code.google.com/p/psutil/wiki/Documentation – enderskill 2012-03-22 16:32:06