Я пытаюсь использовать pidof или pgrep, чтобы иметь возможность отправить HUP процессу в моей системе. Проблема в том, что я хочу убить процесс только с точным параметром.
Это вывод «PS AWX»
657 ? S 0:00 processname software
658 ? S 0:00 processname demo
659 ? S 0:00 processname test
Делая одно из них:
pidof processname
pgrep processname
Вы получаете список всех процессов, начинающихся с имени процесса, но я хотел бы сделать что-то вроде:
pidof processname test
pgrep processname test
Чтобы получить только тот PID, который мне нужен (в этом примере это будет 659)
ОБНОВИТЬ
Используя флаг -f на pgrep, я просто делаю то, что хотел:
pgrep -f "processname test"
Вы получите правильный ответ.
-f
потому что вы хотите найти соответствие в полной командной строке. Обратите внимание, что pgrep работает с регулярными выражениями, поэтому вы также можете выполнять сравнительно сложные сопоставления.