Monitor Process In Python?
I think this is a pretty basic question, but here it is anyway. I need to write a python script that checks to make sure a process, say notepad.exe, is running. If the process is r
Solution 1:
The process creation functions of the os
module are apparently deprecated in Python 2.6 and later, with the subprocess
module being the module of choice now, so...
if'notepad.exe'notin subprocess.Popen('tasklist', stdout=subprocess.PIPE).communicate()[0]:
subprocess.Popen('notepad.exe')
Note that in Python 3, the string being checked will need to be a bytes object, so it'd be
if b'notepad.exe' not in [blah]:
subprocess.Popen('notepad.exe')
(The name of the file/process to start does not need to be a bytes object.)
Solution 2:
There are a couple of options,
1: the more crude but obvious would be to do some text processing against:
os.popen('tasklist').read()
2: A more involved option would be to use pywin32 and research the win32 APIs to figure out what processes are running.
3: WMI (I found this just now), and here is a vbscript example of how to query the machine for processes through WMI.
Post a Comment for "Monitor Process In Python?"