Короче говоря, я пытаюсь написать программу на Python, которая будет постоянно запускать команду kill [PID of iTunes
но после некоторого тестирования с помощью команды ps aux | grep iTunes | egrep -v "grep|Helper" | awk '{print $2}'
и PID iTunes меняются каждый раз, и я не могу найти образец для этого. Есть ли в нем закономерность или способ сделать так, чтобы он не увеличивался?
1 ответ
Существует только один процесс, который будет иметь один и тот же PID каждый раз в любом сеансе или системе. То есть процесс init
всегда будет иметь PID 1. Кроме этого, нет шаблона.
Если вы используете команду Homebrew brew install proctools
она загрузит, соберет и установит pgrep
.
Тогда вы можете использовать pgrep -f <process name> | awk '{print "kill -9 " $1}'
Я считаю, что другой вариант будет использовать pkill
с именем процесса. В этом случае я не думаю, что вам нужно знать идентификатор процесса, просто имя процесса. pkill
также будет установлен, если вы выполнили команду Homebrew, указанную выше.
Если вы не хотите ничего устанавливать, попробуйте запустить ps axf | grep <process name> | grep -v grep | awk '{print "kill -9 " $1}' | sh
. Посмотрите, что он печатает в оболочке, чтобы увидеть, будет ли он убивать правильный процесс.