killing processes on win xp

Andrei aluticus at gmx.net
Wed Feb 11 07:21:16 EST 2004


Hi, 

I'm using:

import win32pdh
junk, instances = win32pdh.EnumObjectItem(None,None,"Process",win32pdh.PERF_DETAIL_WIZARD)
print instances

to get a list of the running process on my PC. Then I try to kill a process using the function I found python\lib\site-packages\win32\scripts\killprocName:

import win32api, win32pdhutil, win32con, sys

def killProcName(procname):
 # Change suggested by Dan Knierim, who found that this performed a
 # "refresh", allowing us to kill processes created since this was run
 # for the first time.
 try:
  win32pdhutil.GetPerformanceAttributes('Process','ID Process',procname)
 except:
  pass

 pids = win32pdhutil.FindPerformanceAttributesByName(procname)

 # If _my_ pid in there, remove it!
 try:
  pids.remove(win32api.GetCurrentProcessId())
 except ValueError:
  pass

 if len(pids)==0:
  result = "Can't find %s" % procname
 elif len(pids)>1:
  result = "Found too many %s's - pids=`%s`" % (procname,pids)
 else:
  handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0,pids[0])
  win32api.TerminateProcess(handle,0)
  win32api.CloseHandle(handle)
  result = ""

 return result


The problem is that if there are many users logged on and I try to kill a process launched by other user, inactive in that moment I get this error:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in ?
    killProcName('notepad')
  File "C:\Python23\Lib\site-packages\win32\scripts\killProcName.py", line 38, in killProcName
    handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0,pids[0])
error: (5, 'OpenProcess', 'Access is denied.')

Is there a way to kill a process on win xp indifferently which user started that process and without being active as that user?
Thank you and sorry for the poor English 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20040211/c191bdfc/attachment.html>


More information about the Python-list mailing list