Як я можу вбити з bash всі процеси python, виключаючи один скрипт python. (Я знаю її назву, але її під іноді можна міняти).
Мені потрібен вид, pkill -f "python"
але з виключенням конкретного сценарію python.
Порадьте, будь ласка.
Як я можу вбити з bash всі процеси python, виключаючи один скрипт python. (Я знаю її назву, але її під іноді можна міняти).
Мені потрібен вид, pkill -f "python"
але з виключенням конкретного сценарію python.
Порадьте, будь ласка.
Відповіді:
ps aux |grep python |grep -v 'pattern_of_process_you_dont_want_to_kill' |awk '{print $2}' |xargs kill
Оновлення: покрокове пояснення, як вимагається в коментарях
ps aux |grep python
- показати всі процеси, які відповідають python
шаблону grep -v 'pattern_of_process_you_dont_want_to_kill'
- виключити процес, який ви не хочете вбивати awk '{print $2}'
- показати друге поле виводу, це PID. xargs kill
- застосувати kill
команду до кожного вхідного аргументу (PID).Якщо ви не знайомі з xargs
командою, я б радив вам не хвилюватися, якщо ви не зрозумієте її відразу. Це може здатися досить складним вперше. Я розмістив дуже простий приклад його використання, ви можете отримати Google ще більше.
awk '{print $2}'
- друкує друге поле ps
виводу, у поточному випадку воно є PID
. xargs
застосовує kill
команду до кожногоPID