¿Cómo puedo eliminar un trabajo que se inició en otro shell (ventana o pestaña de terminal)?

9

Si comienzo un proceso y lo dejo en segundo plano en una ventana de terminal (por ejemplo ping google.com &), puedo matarlo usando kill %1(suponiendo que sea el trabajo 1).

Sin embargo, si abro otra ventana de terminal (o pestaña), el proceso en segundo plano no aparece en la lista jobsy no se puede eliminar directamente usando kill.

¿Es posible eliminar este proceso desde otra ventana o pestaña de terminal?

Nota: Estoy usando Xfce Terminal Emulator 0.4.3 y bash (aunque si existe una solución en otro shell común pero no bash, también estoy abierto a eso)

DQdlM
fuente

Respuestas:

10

Sí, todo lo que necesita saber es la identificación del proceso (PID) del proceso. Puede encontrar esto con el pscomando o el pidofcomando.

kill $(pidof ping)

Debería funcionar desde cualquier otro shell. Si no es así, puede usar ps y grep para hacer ping.

Keith
fuente
6

Si escribe topen la otra ventana de terminal, enumerará todo el proceso en ejecución. Anote la identificación del proceso joballí, luego presione qpara salir de esa pantalla. Luego killel proceso como de costumbre.

arthankamal
fuente
gracias por su respuesta, pero topno parece mostrar todos los procesos específicos que se ejecutan en el shell (por ejemplo, no se muestra ping). Sí me da un PID para el emulador de terminal, pero eso mata al emulador de terminal como era de esperar.
DQdlM
1
si escribe top -U yourusernameen la terminal, solo mostrará el proceso que está utilizando.
arthankamal
¡increíble! ¡+1 solo por eso! gracias
DQdlM
mientras estás en la parte superior, presiona k y luego 15 para matar suavemente (prueba primero), 9 para matar con fuerza.
Michael Durrant
4

Usualmente hago algo como esto:

ps aux | grep $PROCESS | grep -v grep | awk '{print $2 " " $11}'

Por ejemplo, si $ PROCESS = "bash", este es el resultado de mi sesión actual:

2683 bash
4481 bash
5695 bash

Entonces lo haría kill $PIDpor lo /bin/bashque ya no quiero estar corriendo.

ps, grepY (opcionalmente) awkson útiles para la caza de PIDs a kill.

Charles Boyd
fuente