某些Windows進程在服務停止後會繼續運行幾分鐘。有沒有一種方法在Python中檢測?如果Windows進程在服務停止時正在運行,如何檢查Python?
0
A
回答
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))
重要提示!正如本教程的作者所述,他使用的平臺是Windows Server 2012,但該代碼很可能與其他Windows產品協同工作。至少它應該給你和想法如何去做你想要的。
希望它的幫助!
1
你可以嘗試psutil
包,特別是psutil.process_iter()
(返回了正在運行的進程的迭代器)。該軟件包用於其他分析器軟件包。處理功能的文檔可以在here找到。
我不知道你將如何找到進程標識有問題的服務(S),如果他們不在父/子PID關係明顯。我沒有在Windows上測試過。
相關問題
- 1. 停止Windows服務,如果運行在C#
- 2. 如何告訴Puppet在停止運行時停止服務?
- 3. 應用程序運行從Windows服務在python停止註銷時Windows XP
- 4. 如何檢查在Windows服務器上運行的Java應用程序狀態(運行或停止)
- 5. 如何查找並停止在端口443上運行服務器的進程
- 6. 如何停止作爲Windows服務運行的web.py服務器
- 7. 如何在Netbeans中停止正在運行的進程
- 8. C程序 - 如何檢查Web服務是否正在運行
- 9. 如何停止正在運行的solr服務器?
- 10. 如何停止所有正在運行的流星服務器
- 11. 如何在Windows卸載程序運行之前停止程序和服務
- 12. 如何檢查服務是否停止
- 13. 檢查進程是否正在運行,如果不啓動它
- 14. 如何讓進程在遠程Windows服務器上運行
- 15. 如何在應用程序停止時停止警報服務?
- 16. 如何停止在服務器上運行的程序?
- 17. 如何在Windows服務中運行長時間運行的進程?
- 18. 如何停止運行服務?
- 19. 如何檢索Windows服務正在運行的用戶名?
- 20. Windows服務不停止「正在啓動」
- 21. 如何檢查進程在python中運行(在linux中)?
- 22. 如何停止正在進行的java.sql.statement.executeQuery()?
- 23. 如何禁止停止windows服務
- 24. 如何從Windows服務運行exe文件,並在exe程序退出時停止服務?
- 25. 如何停止正在運行的ASIHTTPNetworkQueue?
- 26. 檢查服務正在運行VBNET
- 27. 檢查服務是否正在運行?
- 28. 批處理程序停止正在運行的服務
- 29. 長時間運行的進程超時和Windows服務(Python)
- 30. JS,如果它正在執行中,如何停止進程執行...?