Відповіді:
Ви можете використовувати 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
обгортає це все добре і акуратно.