Tuer le processus lorsque le PID est en constante évolution

9

Quand j'émets

ps aux | grep mtp

Je reçois

ubuntu- + 15934 0,1 0,0 519848 7068? Sl 21:13 0:00 / usr / lib / gvfs / gvfsd-mtp --spawner: 1.9 / org / gtk / gvfs / exec_spaw / 20

Ainsi, le PID dans ce cas est 15934. Mais à chaque nouvelle exécution, le PID est différent. Existe-t-il un autre moyen de tuer un processus que par PID?

Bachalo
la source
PID différent → processus différent.
phk
3
Si le PID change constamment, le processus se ferme constamment et un nouveau processus portant le même nom démarre. Donc, vous voulez probablement aller après le processus parental, celui qui démarre les enfants. Regardez ps -ely | awk 'NR==1||/mtp/'et regardez la colonne PPID
icarus
1
Une meilleure approche serait de comprendre ce qui se passe réellement et de corriger cela à la place. Découvrez pourquoi le montage MTP ne fonctionne pas, en vérifiant les journaux, etc., et corrigez-le pour qu'il fonctionne réellement. Découvrez pourquoi GVFS tente même le montage MTP et empêchez-le d'en avoir besoin. Découvrez où le montage automatique MTP se produit et désactivez-le. Découvrez pourquoi GVFS est nécessaire et arrêtez de l'être. Par opposition à tuer des processus de façon volontaire sans comprendre, et à casser ses applications de bureau GNOME en conséquence.
JdeBP

Réponses:

8

Il existe probablement un processus parent qui tue les processus enfants et entraîne de nouveaux enfants. Vous pouvez utiliser pstree pour trouver le processus parent:

pgrep mtp | xargs -i pstree -ps {}

Ou vous pouvez également utiliser l'option ppid de ps:

pgrep mtp | while read line; do ps -p $line -o ppid; done

Ensuite, vous pouvez tuer le processus parent

Serhat Cevikel
la source
0

Vous pouvez utiliser pkill mtp ou kill -9 pidof mtp

Veuillez noter que s'il existe plusieurs processus mtp, ces deux commandes tueront tous les processus mtp du système.

Rami Rosen

Rami Rosen
la source
5
Cela ou killall mtptuera les mtp, cependant, il existe peut-être un autre processus qui forge constamment de nouveaux processus mtp en tant qu'enfants. Sans tuer, cela ne sert à rien.
Serhat Cevikel
0

J'ai délivré

ps aux | grep mtp

ce qui m'a donné quelques processus liés au mtp et comparé à la caméra montée et non montée pour obtenir le processus spécifique

et alors

pkill -9 gvfsd-mtp

fait l'affaire.

Mais je suppose que la réponse ci-dessus fonctionnera également :)

Bachalo
la source