eggs/py-1.4.0-py2.6.egg/py/_process/killproc.py
changeset 69 c6bca38c1cbf
equal deleted inserted replaced
68:5ff1fc726848 69:c6bca38c1cbf
       
     1 import py
       
     2 import os, sys
       
     3 
       
     4 if sys.platform == "win32" or getattr(os, '_name', '') == 'nt':
       
     5     try:
       
     6         import ctypes
       
     7     except ImportError:
       
     8         def dokill(pid):
       
     9             py.process.cmdexec("taskkill /F /PID %d" %(pid,))
       
    10     else:
       
    11         def dokill(pid):
       
    12             PROCESS_TERMINATE = 1
       
    13             handle = ctypes.windll.kernel32.OpenProcess(
       
    14                         PROCESS_TERMINATE, False, pid)
       
    15             ctypes.windll.kernel32.TerminateProcess(handle, -1)
       
    16             ctypes.windll.kernel32.CloseHandle(handle)
       
    17 else:
       
    18     def dokill(pid):
       
    19         os.kill(pid, 15)
       
    20 
       
    21 def kill(pid):
       
    22     """ kill process by id. """
       
    23     dokill(pid)