1 votes

Trouver un processus par son nom et le tuer

Donc, je veux envoyer un kill à un processus, je connais son nom.

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

Il est unicorn_rails master [ ] comment le tuer ?

J'ai essayé jusqu'à présent : sed y expr . Mais je ne peux pas le passer comme paramètre à tuer

0 votes

Notez que les services système sont souvent accompagnés de scripts de démarrage/arrêt qui font ce travail pour vous. Je n'en ai aucune idée mais peut-être que cette unicorn_rails pourrait avoir quelque chose comme ça sous /etc/init.d par exemple.

9voto

Jeff McJunkin Points 1332

Il existe une commande plus directe appelée pkill. Son utilisation est la suivante :

$ pkill "process name here"

4 votes

Font aussi pkill -f 'unicorn_rails master' s'il y a plusieurs instances du programme en cours d'exécution et que vous voulez seulement en tuer une.

1voto

Khaled Points 35208

Tu peux le commander :

$ sudo kill `pidof process_name`.

Vous pouvez également utiliser :

$ sudo killall process_name

Si vous voulez utiliser grep, vous pouvez essayer :

$ ps -ef | grep '_rails master' | grep -v grep | awk '{print $3}' | sudo kill

1voto

Luigi Points 44

Vous pouvez utiliser les éléments suivants :

ps -ef | grep [u]nicorn_rails | awk '{print $2}' | sudo xargs kill

Notez que le [] dans 'grep [u]nicorn_rails' vous empêche de faire correspondre la commande grep dans l'arbre ps.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X