Як я можу вбити з 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