Réponses:
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).
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 juste pgrep -l
pour tous les pids
Bien 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").
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.
The top program provides a dynamic real-time view of a running
system. It can display system summary information as well as a
list of processes or threads currently being managed by the Linux
kernel. The types of system summary information shown and the
types, order and size of information displayed for processes are
all user configurable and that configuration can be made persis‐
tent across restarts.
via l' homme haut
grep
rechercher le nom d'un processus spécifique:ps -A | grep 'my name'