Процессы nonsudo kill соответствуют строке

Я пытаюсь написать команду, которая убьет все процессы, соответствующие строке. У меня есть разрешения на выполнение kill -9 но когда я пытаюсь выполнить pkill -f string я получаю operation not permitted .

Вот что я имею до сих пор:

  ps aux | grep -E 'python2|python3' 

Это получает все PID всех процессов python. Тем не менее, моя sed и grep magic недостаточно хороши для того, чтобы разыгрывать pids:

 kill -9 | <sed magic> | grep -E 'python2|python3' 

Может кто-нибудь помочь с указанной магией?

One Solution collect form web for “Процессы nonsudo kill соответствуют строке”

 pgrep "$expression" | xargs kill -9 

Это будет использовать pgrep для поиска PID, которые соответствуют указанному имени процесса, а затем удаляют эти PID, чтобы kill для выполнения.

Тем не менее, kill -9 никогда не должен быть чем-то, что вы запускаете в рутине; процессы должны быть разработаны для обработки сигнала TERM (15) и очистки после себя должным образом.

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

  • Проверьте, оставил ли процесс оставшихся сирот
  • Найдите каталог из относительного пути в выводе ps
  • PID в верхней отличается от $$ one?
  • В чем разница между pidof и pgrep?
  • Определите, какие java-приложения запускаются в имени java-процесса
  • Заставляет ли приложение освобождать выделенную память?
  • Как показать список процессов из группы?
  • Перемещение дерева процессов
  • Как проверить, сколько времени работает процесс?
  • Странное поведение процесса на виртуализированном Ubuntu
  • «Прекращено» относится к «заблокированному» состоянию?
  • Как рисовать дерево процессов из моей оболочки в ядро?
  • Linux и Unix - лучшая ОС в мире.