Я думаю, что это - довольно основной вопрос, но здесь это так или иначе.
Я должен записать сценарий Python, который проверяет, чтобы удостовериться, что процесс, для высказывания notepad.exe, работает. Если процесс работает, ничего не сделайте. Если это не, запустите его. Как это было бы сделано.
Я использую Python 2.6 на Windows XP
Есть несколько вариантов,
1: более грубый, но очевидный будет быть для обработки текста против:
os.popen('tasklist').read()
2: Более сложный вариант - использовать pywin32 и исследовать API Win32, чтобы выяснить, какие процессы запущены.
3: WMI (я нашел это только сейчас), и вот пример vbscript того, как запрашивать у машины процессы через WMI.
Функции создания процессов модуля 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')
(имя файла / процесса, который нужно запустить, не обязательно должно быть байтовым объектом.)