Eliminar el proceso cuando el PID cambia constantemente

9

Cuando publico

ps aux | grep mtp

yo obtengo

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

Entonces, el PID en este caso es 15934. Pero cada vez que se ejecuta, el PID es diferente. ¿Hay alguna otra forma de matar un proceso que no sea por PID?

Bachalo
fuente
PID diferente → proceso diferente.
phk
3
Si el PID cambia constantemente, el proceso se cierra constantemente y comienza un nuevo proceso con el mismo nombre. Por lo tanto, es probable que desee seguir el proceso principal, el que está iniciando los elementos secundarios. Mire ps -ely | awk 'NR==1||/mtp/'y mire la columna PPID
icarus
1
Un mejor enfoque sería la de entender lo que realmente está pasando , y el arreglo que en su lugar. Descubra por qué el montaje MTP no funciona, verificando los registros, etc., y corríjalo para que realmente funcione. Descubra por qué GVFS incluso intenta el montaje MTP y evite que lo necesite. Descubra dónde está ocurriendo el montaje automático de MTP y apáguelo. Descubra por qué se necesita GVFS y evite que así sea. A diferencia de matar procesos de cualquier manera sin comprender, y como consecuencia, romper las aplicaciones de escritorio GNOME de uno.
JdeBP

Respuestas:

8

Probablemente hay un proceso padre que mata los procesos hijos y bifurca nuevos hijos. Puede usar pstree para encontrar el proceso padre:

pgrep mtp | xargs -i pstree -ps {}

O, alternativamente, puede usar la opción ppid de ps:

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

Entonces puedes matar el proceso padre

Serhat Cevikel
fuente
0

Puedes usar pkill mtp o kill -9 pidof mtp

Tenga en cuenta que si hay varios procesos mtp, estos dos comandos matarán todos los procesos mtp en el sistema.

Rami Rosen

Rami Rosen
fuente
55
Esto o killall mtpmatará a los mtp, sin embargo, posiblemente haya otro proceso que constantemente bifurca los nuevos procesos de mtp como hijos. Sin matar, esto no sirve de nada.
Serhat Cevikel
0

Emití

ps aux | grep mtp

lo que me dio algunos procesos relacionados con mtp y se comparó con la cámara montada y desmontada para obtener el proceso específico

y entonces

pkill -9 gvfsd-mtp

Hace el truco.

Pero supongo que la respuesta anterior funcionará también :)

Bachalo
fuente