Использование `pgrep` для эмуляции` ps -ef` для использования в цикле `for i in`

Ubuntu 16.04

Я привык использовать эту командную строку для уничтожения любого совпадения процесса, указанного КОМАНДА

for i in $(ps -ef | grep COMMAND | awk '{ print $2 }'); do kill -9 "$i" &>/dev/null;done 

shellcheck не очень нравится и подсказывает

 root@singa /home # shellcheck run In run line 4: for i in $(ps -ef | grep COMMAND | awk '{ print $2 }'); do kill -9 "$i" &>/dev/null;done ^-- SC2009: Consider using pgrep instead of grepping ps output. 

какие флаги нужны для завершения здесь замены ХХХ

 for i in $(pgrep XXX | grep COMMAND | awk '{ print $2 }'); do kill -9 "$i" &>/dev/null;done 

Я уже проверил справочную страницу для pgrep.

 for pid in $(pgrep command); do kill -9 $pid done 

Или еще лучше:

 pkill -9 command 

В качестве дополнительного примечания известно, что незаинтересованное использование kill -9 иногда является причиной вспышек зомби, осиротевших файлов, постоянных временных файлов и других болезней. Вместо этого рассмотрите возможность использования kill которая по умолчанию отправляет SIGTERM а не SIGKILL .

я сделал ниже метод

 for i in pickup hald-runner; do pgrep $i | awk '{print "kill" " " $1}'| sh;done 

Здесь пикап, Hald-Runner это имена процессов