subplot大小 - 在Python中监控进程?




python画大图 (2)

我认为这是一个非常基本的问题,但无论如何,这是一个问题。

我需要编写一个python脚本来检查一个正在运行的进程,比如notepad.exe。 如果进程正在运行,则什么也不做。 如果不是,请启动它。 这将如何完成。

我在Windows XP上使用Python 2.6


os模块的进程创建功能在Python 2.6及更高版本中显然已被弃用, subprocess进程模块现在是选择的模块,所以...

if 'notepad.exe' not in subprocess.Popen('tasklist', stdout=subprocess.PIPE).communicate()[0]:
    subprocess.Popen('notepad.exe')

请注意,在Python 3中,被检查的字符串将需要是一个字节对象,所以它会

if b'notepad.exe' not in [blah]:
    subprocess.Popen('notepad.exe')

(要启动的文件/进程的名称不需要是字节对象。)


有几个选项,

1:更粗糙但显而易见的做法是对文本进行一些处理:

os.popen('tasklist').read()

2:更多的参与选项是使用pywin32并研究win32 API来确定哪些进程正在运行。

3:WMI(我刚刚发现了这个 ), 这里是一个vbscript的例子,说明如何通过WMI为机器查询进程。







restart