Existe um comando mais direto chamado pkill. O uso é o seguinte:
$ pkill "process name here"
Então, eu quero mandar um kill para um processo, eu sei que é o nome
ps -ef | grep '_rails master'
root 2388 1 0 19:46 ? 00:00:04 unicorn_rails master -c /web/hero/config/unicorn.rb -E production -D
root 2582 2172 0 20:28 pts/0 00:00:00 grep --color=auto _rails master
É o unicorn_rails master [..] como faço para matá-lo?
Eu tentei até agora: sed e expr . Mas não posso passar isso como param para matar
Você pode o comando:
$ sudo kill 'pidof process_name'.
Você também pode usar:
$ sudo killall process_name
Se você quiser usar o grep, você pode tentar:
$ ps -ef | grep '_rails master' | grep -v grep | awk '{print $3}' | sudo kill
Você pode usar o seguinte:
ps -ef | grep [u]nicorn_rails | awk '{print $2}' | sudo xargs kill
Note que o [] em 'grep [u] nicorn_rails' evita que você corresponda ao comando grep na árvore ps.
Tags process automation linux