如果 Windows 进程是 运行,当它的服务停止时如何检查 Python?

How to check in Python if Windows process is running when its service has stopped?

某些 Windows 进程在其服务停止后会 运行 保留几分钟。 Python 有没有办法检测到?

您可以尝试 psutil 包,尤其是 psutil.process_iter()(returns 迭代器 运行 进程)。此包用于其他分析器包。可在 here.

中找到有关流程函数的文档

如果相关服务的进程 ID 在 parent/child pid 关系中不明显,我不知道您将如何找到它们。我没有在 Windows.

上测试过这个
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 产品。至少它应该让你知道如何做你想做的事。

希望对您有所帮助!