Je souhaite quitter un processus à l'aide de la ligne de commande, mais je ne me souviens pas de la commande pour rechercher l'ID du processus. Quelqu'un le sait-il?
la source
Je souhaite quitter un processus à l'aide de la ligne de commande, mais je ne me souviens pas de la commande pour rechercher l'ID du processus. Quelqu'un le sait-il?
La commande pour trouver l'id d'un processus (compte tenu de son nom) est pidof
. Cependant, puisque votre intention est de tuer le processus, il existe des moyens meilleurs / plus simples que d'utiliser pidof
pour trouver son pid en premier:
En supposant que le processus que vous souhaitez tuer est identifié de manière unique par son nom (ou que vous souhaitez tuer tous les processus portant ce nom), vous n'avez pas besoin de connaître son pid. Vous pouvez simplement le faire killall processname
.
S'il y a plusieurs processus avec le même nom, mais que vous voulez seulement en tuer un, l'utilisation pidof
ne vous aidera pas beaucoup, car cela vous donnera les pids, mais cela ne vous donnera aucune information pour déterminer lequel des pids appartient au processus que vous voulez réellement tuer.
Dans ce cas, vous pouvez faire ps aux | grep processname
qui affichera tous les processus avec le nom donné ainsi que la console sur laquelle ils s'exécutent (le cas échéant) et les arguments avec lesquels ils ont été invoqués, ce qui, nous l'espérons, vous permet d'identifier le processus que vous recherchez .
Si le processus a ouvert des fenêtres X, vous pouvez également utiliser xkill
pour tuer (invoquer xkill
puis cliquer sur la fenêtre).
Vous devriez jeter un œil à pgrep
et pkill
, deux utilitaires très pratiques et puissants que l'on trouve sur la plupart des systèmes Linux et UNIX.
$ apropos pgrep
pgrep (1) - look up or signal processes based on name and other attributes
Vous pouvez exécuter ps -A
dans le terminal pour afficher tous les processus (avec leur ID de processus) en cours d'exécution.
grep
rechercher le nom d'un processus spécifique:ps -A | grep 'my name'
J'ai également eu un problème similaire. J'ai utilisé
pstree -p
; cela m'a montré les processus en cours d'exécution, y compris les ID de processus.la source
pidof
. Problèmeman pidof
pour plus de détails.la source
Mon préféré est
pstree -p | grep $(program_name)
. En fait, cela greps le processus, le met en surbrillance et montre le pid entre parenthèses.Mon prochain favori (en particulier lorsque vous programmez et avez besoin de tous les pids du processus) est
pgrep -law ""
. Cela vous donne littéralement chaque pid en cours d'exécution suivi de l'application (avec chemin absolu).Cela peut être réduit à
pgrep -lw ""
pour pid suivi du nom du programme ou même justepgrep -l
pour tous les pidsBien sûr, vous pouvez rechercher le nom d'un programme particulier (ou d'une partie du programme). (ie
pgrep -lw firef
affichera probablement quelque chose comme "4567 firefox").la source
pstree -psH $(pgrep prgram_name)
mieux pour le premier cas?Cette réponse, de @Ben sur une question en double , a résolu mon problème:
Pensez à utiliser la
top
commande dans le terminal.via l' homme haut
la source