Проверьте, существует ли PID в Windows с Python, не требуя библиотек

Есть ли способ проверить, существует ли PID в Windows с Python, не требуя библиотек? Как?

2 ответа

Решение

Это решается с маленькой чашкой WINAPI.

def pid_running(pid):
    import ctypes
    kernel32 = ctypes.windll.kernel32
    SYNCHRONIZE = 0x100000

    process = kernel32.OpenProcess(SYNCHRONIZE, 0, pid)
    if process != 0:
        kernel32.CloseHandle(process)
        return True
    else:
        return False

Это работает в моей системе..

>>> import subprocess
>>> out = subprocess.check_output(["tasklist","/fi","PID eq 1234"]).strip()
>>> if out == "INFO: No tasks are running which match the specified criteria.":
...   print "No such PID :D"
...
No such PID :D
Другие вопросы по тегам