Відповіді:
Ви можете використовувати pgrep, поки ви не включите -fпараметри. Це робить pgrepвідповідність ключових слів у всій команді (включаючи аргументи), а не лише ім'я процесу.
pgrep -f keyword
На сторінці чоловіка :
-fШаблон зазвичай відповідає лише назві процесу. Коли-fвстановлено, використовується повний командний рядок.
Якщо ви дійсно хочете уникати pgrep, спробуйте:
ps -ef | awk '/[k]eyword/{print $2}'
Зверніть увагу на []першу букву ключового слова. Це корисна хитрість, щоб уникнути відповідності самій awkкоманді.
kill -9 `pgrep -f keyword`
ps aux | grep chrome
[k]трюк на pgrep -f. Мій сценарій працював у нижній частині, так що я думаю, що він набирав свою батьківську команду (важко знати напевно - під, який він повернув, зник, коли команда була виконана!)
pkill -9 -f keyword?
Спробуйте
ps -ef | grep "KEYWORD" | awk '{print $2}'
Ця команда повинна дати вам PID процесів із KEYWORD у них. У цьому випадку awkповертає те, що знаходиться у 2-му стовпці з виводу.
| head -1.
Щоб вбити процес за допомогою певного ключового слова, ви можете створити псевдонім у ~/.bashrc(linux) або ~/.bash_profile(mac).
alias killps="kill -9 `ps -ef | grep '[k]eyword' | awk '{print $2}'`"
| head -1обгортає це все добре і акуратно.