Python

Запуск программы через питон

Как вообще сделать так, чтобы программа написанная на питоне отслеживала запущенные процессы и если определенного процесса нет в списке, запускала этот процесс(приложение).
Для того, чтобы программа на Python отслеживала запущенные процессы и запускала определенный процесс, можно использовать модуль psutil.

Для начала, установите psutil, используя команду:

pip install psutil

Затем, для того чтобы отслеживать запущенные процессы, можно использовать функцию psutil.process_iter(), которая возвращает итератор, содержащий объекты psutil.Process, представляющие запущенные процессы. Для каждого объекта psutil.Process можно получить имя процесса, используя метод name(), и идентификатор процесса, используя метод pid().

Для запуска процесса можно использовать функцию subprocess.run (), которая запускает процесс, переданный в качестве аргумента. Например, чтобы запустить приложение notepad.exe, можно использовать следующий код:

import subprocess

subprocess.run ('notepad.exe')

Таким образом, для реализации требуемого функционала можно написать код, который будет периодически проверять список запущенных процессов, и если нужный процесс отсутствует в списке, запускать его с помощью subprocess.run (). Например:

import psutil
import subprocess
import time

def check_and_run_process(process_name):
for proc in psutil.process_iter():
if proc.name () == process_name:
# процесс уже запущен, выходим из функции
return

# процесс не найден, запускаем его
subprocess.run (process_name)

while True:
check_and_run_process('notepad.exe')
time.sleep(10) # ждем 10 секунд перед следующей проверкой

Этот код будет периодически проверять список запущенных процессов, и если процесс notepad.exe отсутствует в списке, запускать его с помощью subprocess.run ().

Он будет работать бесконечно, проверяя и запуская процесс каждые 10 секунд. Вы можете изменить интервал проверки, чтобы он лучше соответствовал вашим потребностям.
Айбек Серкешбаев
Айбек Серкешбаев
466
Лучший ответ
Владислав Краус Спасибо, работает.
 import psutil 
"someProgram" in (p.name() for p in psutil.process_iter())
Владислав Краус ок попробую сейчас
Владислав Краус что-то ничего он не включает.
Александр Бурмистров А у тебя нет доступа к браузеру? Там поищи
Никак это невозможно
Vladimir Gargoma
Vladimir Gargoma
441