Я намагаюся використовувати 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
Ви отримуєте список усіх процесів, починаючи з імені Process, але я хотів би зробити щось на кшталт:
pidof processname test
pgrep processname test
Щоб отримати лише потрібний мені PID (у цьому прикладі було б 659)
ОНОВЛЕННЯ
Використовуючи прапор -f на pgrep, я просто виконую те, що хотів, роблячи:
pgrep -f "processname test"
Ви отримаєте правильну відповідь.
-f
тому що ви хочете відповідати в повному командному рядку. Зауважте, що pgrep працює на регулярних виразах, тому ви також можете робити порівняно складне зіставлення.