2017-08-16 176 views

回答

0
import os 

def getTasks(name): 
r = os.popen('tasklist /v').read().strip().split('\n') 
print ('# of tasks is %s' % (len(r))) 
for i in range(len(r)): 
    s = r[i] 
    if name in r[i]: 
     print ('%s in r[i]' %(name)) 
     return r[i] 
return [] 

if __name__ == '__main__': 
''' 
This code checks tasklist, and will print the status of a code 
''' 

    imgName = 'dwm.exe' 

    notResponding = 'Not Responding' 

    r = getTasks(imgName) 

if not r: 
    print('%s - No such process' % (imgName)) 

elif 'Not Responding' in r: 
    print('%s is Not responding' % (imgName)) 

else: 
    print('%s is Running or Unknown' % (imgName)) 

Source

重要提示!正如本教程的作者所述,他使用的平臺是Windows Server 2012,但該代碼很可能與其他Windows產品協同工作。至少它應該給你和想法如何去做你想要的。

希望它的幫助!

1

你可以嘗試psutil包,特別是psutil.process_iter()(返回了正在運行的進程的迭代器)。該軟件包用於其他分析器軟件包。處理功能的文檔可以在here找到。

我不知道你將如何找到進程標識有問題的服務(S),如果他們不在父/子PID關係明顯。我沒有在Windows上測試過。

相關問題