Existe-t-il un moyen (peut-être un script) d'automatiser ce processus:
petr@sova:~$ ps -ef | grep middleman
petr 18445 2312 1 12:06 pts/2 00:00:01 /home/petr/.rvm/gems/ruby-1.9.3-p362/bin/middleman
petr 18581 13621 0 12:08 pts/0 00:00:00 grep --color=auto middleman
petr@sova:~$ kill -9 18445
Malheureusement, pkill
est trop faible car je dois choisir l' -9
option kill
.
-9
avecpkill
...-KILL
que-9
. Quel nombre correspond à quel signal dépend de l'implémentation.SIGKILL
se trouve être9
sur Linux i386 et Linux amd64, mais pas nécessairement partout. ( Plus d'informations ici. )-KILL
aussi l' utiliser (car cela rend le code plus lisible), il convient de noter qu'ilSIGKILL = 9
est spécifié par POSIX , il-9
est donc assez portable de nos jours (et ne dépend pas des noyaux ou des architectures).Réponses:
Vous pouvez utiliser votre shell pour effectuer cette tâche pour vous:
Le shell exécute d'abord la commande
pidof middleman
. La sortie de pidof (8) est l'identifiant du processus. Ainsi, le shell remplace lapidof
commande-par l'ID de processus et s'exécutekill -9 18845
(ou quel que soit l'ID de processus correct).la source
kill -9 $(pgrep middleman)
?Il existe une solution encore plus simple que celle de qbi:
killall
vous pouvez tuer les processus par leur nom et vous pouvez spécifier des signaux.Voir
man killall
pour plus d'informations et des options supplémentaires (il y en a pas mal).Comme son nom l'indique, cela envoie le signal à tous les processus nommés
middleman
. Mais ce n'est pas différent des autres moyens (commepkill
). De plus,pkill -9 middleman
ciblera les processus dont le nom correspond mais n'est pas égalmiddleman
, commemiddleman2
, ainsi.la source
killall
pour la victoire!Les autres réponses sont entièrement correctes, mais je pourrais aussi bien ajouter une troisième option afin que toutes soient documentées ici. Vous pouvez aussi utiliser:
Voir
man pkill
pour plus d'informations et des options supplémentaires.Peu importe laquelle de ces méthodes vous utilisez. Ils fonctionneront tous. Mais connaître les options est utile si vous souhaitez modifier le comportement d'une manière ou d'une autre, car les pages de manuel correspondantes indiquent les autres options de correspondance disponibles.
la source
middleman*
middleman
. C'est là que les différences dans la façon exactementpkill
,killall
,pidof
et lesgrep
processus de match commencent vraiment à la matière!L'
-f
option le fait correspondre à la ligne de commande complète, plutôt qu'au seul nom du processus.Notez que cela
-9
devrait être un signal de dernier recours, pas quelque chose à utiliser régulièrement.la source
complete command line
Juste pour le plaisir, j'aimerais ajouter une méthode plus old school
la source
... grep [m]iddleman ...
pour éviter de tuer legrep
processus par accident. De cette façon, le grep ne peut pas se correspondre à cause de citations drôles.qui est interactif (sûr) et correspond au nom de la commande partielle.
la source