Replaced WMI process enumeration with the EnumProcesses API call. (Shorter, faster, does not depend on pythoncom.)

This commit is contained in:
Nikita Nemkin 2011-06-02 01:19:44 +06:00 committed by Calum Lind
parent d9f1210fe7
commit 8a72187998
1 changed files with 2 additions and 7 deletions

View File

@ -62,13 +62,8 @@ class Daemon(object):
def process_running(pid): def process_running(pid):
if deluge.common.windows_check(): if deluge.common.windows_check():
# Do some fancy WMI junk to see if the PID exists in Windows import win32process
from win32com.client import GetObject return pid in win32process.EnumProcesses()
def get_proclist():
WMI = GetObject('winmgmts:')
processes = WMI.InstancesOf('Win32_Process')
return [process.Properties_('ProcessID').Value for process in processes]
return pid in get_proclist()
else: else:
# We can just use os.kill on UNIX to test if the process is running # We can just use os.kill on UNIX to test if the process is running
try: try: