Как я могу убить процесс с учетом его «команды»?

У меня есть процесс под названием «P1», прямо сейчас, как я убил процесс:

$ ps aux | grep "P1" " Now it returns two processes related to "P1": one is the actual P1 process I want to kill, the other one is the "grep P1" which I don't care. $ kill -9 <P1 pid> 

Однако я хочу объединить два процесса в один. В настоящее время я не смог найти эффективный способ сделать это, главным образом потому, что мне нужно искать результат из первой команды. Любой хороший метод?

  • Как убить - мягко?
  • Что делать, если «kill -9» не работает?
  • закрытие неиспользуемых терминалов гнома
  • Как убить как процесс, так и подпроцесс?
  • Убивание фонового процесса в скрипте bash при выходе из скрипта
  • Отправьте процесс в фоновый режим с помощью PID
  • Как убить процесс, дающий ему несколько секунд, прежде чем совершить вынужденное убийство?
  • Убивать работу
  • 2 Solutions collect form web for “Как я могу убить процесс с учетом его «команды»?”

    Вы можете использовать pgrep с флагом -x :

     kill -9 $(pgrep -x P1) 

    или лучше, с помощью pkill вы можете это сделать:

     pkill -9 -x P1 

    с BSD pkill :

     pkill 9 -x P1 

    Вы можете использовать killall(1) (по крайней мере, здесь, на Fedora Linux). У этого есть множество вариантов.

    Лично я использую его почти исключительно, когда знаю, что есть только один процесс с данным именем.

    Linux и Unix - лучшая ОС в мире.