Si je commence un processus et que je le mets en arrière-plan dans une fenêtre de terminal (disons ping google.com &
), je peux le tuer en utilisant kill %1
(en supposant que c'est le travail 1).
Cependant, si j'ouvre une autre fenêtre de terminal (ou onglet), le processus en arrière-plan n'est pas répertorié sous jobs
et ne peut pas être tué directement à l'aide kill
.
Est-il possible de tuer ce processus à partir d'une autre fenêtre ou d'un autre onglet de terminal?
Remarque: J'utilise l'émulateur de terminal Xfce 0.4.3 et bash (bien que si une solution existe dans un autre shell commun mais pas bash, je suis également ouvert à cela)
top
ne semble pas montrer tous les processus spécifiques en cours d'exécution dans le shell (par exemple, il ne s'affiche pasping
). Cela me donne un PID pour l'émulateur de terminal, mais cela tue l'émulateur de terminal comme vous vous en doutez.top -U yourusername
terminal, il répertoriera uniquement le processus que vous utilisez.Je fais habituellement quelque chose comme ça:
ps aux | grep $PROCESS | grep -v grep | awk '{print $2 " " $11}'
Par exemple, si $ PROCESS = "bash", voici la sortie de ma session actuelle:
Ensuite, je le ferais
kill $PID
pour ce que/bin/bash
je ne veux plus courir.ps
,grep
Et (éventuellement)awk
sont utiles pour la chasse vers le bas à PIDskill
.la source