I want to prevent some process from running. The code is in the following. I encounter some unexpected troubles. Probelm1: This program cannot terminate "scrcons.exe" and "FNPLicensingService.exe",which are system processes. Problem2:After a while, this program will abort by error File "C:\Python25\lib\wmi.py", line 397, in __call__ handle_com_error (error_info) File "C:\Python25\lib\wmi.py", line 190, in handle_com_error raise x_wmi, "\n".join (exception_string) UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position 14: ordinal not in range(128)
---------------------------------------------------- code---------------------------------------------------------------------------------- # -*- coding:utf-8 -*- import pythoncom import wmi import threading import time from xml.dom.minidom import parse, parseString class Info (threading.Thread): def __init__ (self): threading.Thread.__init__ (self) def run (self): print 'In Another Thread...' pythoncom.CoInitialize () dom1 = parse('processTerminateList.xml') config_element = dom1.getElementsByTagName("processTerminateList") [0] servers = config_element.getElementsByTagName("processName") try: c = wmi.WMI () for process in c.Win32_Process (): for server in servers: if process.name == getText(server.childNodes): process.Terminate() print process.name process_watcher = c.Win32_Process.watch_for("creation") while True: new_process = process_watcher() name = new_process.Caption print name for server in servers: if name == getText(server.childNodes): new_process.Terminate() finally: pythoncom.CoUninitialize () def getText(nodelist): rc = "" for node in nodelist: if node.nodeType == node.TEXT_NODE: rc = rc + node.data return rc if __name__ == '__main__': Info().start() ------------------------------------------------------ processTerminateList.xml----------------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <processTerminateList> <processName>scrcons.exe</processName> <processName>TXPlatform.exe</processName> <processName>mdm.exe</processName> <processName>FNPLicensingService.exe</processName> <processName>notepad.exe</processName> <processName>uedit32.exe</processName> </processTerminateList> -- http://mail.python.org/mailman/listinfo/python-list