ver una todos terminar tarea procesos proceso los killall como comando linux bash unix kill job-control

una - linux: matar a la tarea de fondo



terminar una tarea en linux (8)

¿Cómo elimino la última tarea de fondo generada en Linux?

Ejemplo:

doSomething doAnotherThing doB & doC doD #kill doB ????


El siguiente comando le proporciona una lista de todos los procesos en segundo plano en su sesión, junto con el pid. Luego puede usarlo para matar el proceso.

jobs -l

Ejemplo de uso:

$ sleep 300 & $ jobs -l [1]+ 31139 Running sleep 300 & $ kill 31139


Esto debería matar a todos los procesos de fondo:

jobs -p | xargs kill -9


Hay una variable especial para esto en bash:

kill $!

ps se expande al PID del último proceso ejecutado en segundo plano.


Necesitas su pid ... usa "ps -A" para encontrarlo.


Puedes matar por número de trabajo. Cuando pones una tarea en segundo plano, verás algo como:

$ ./script & [1] 35341

Ese [1] es el número de trabajo y se puede referenciar como:

$ kill %1 $ kill %% # Most recent background job

Para ver una lista de números de trabajo, use el comando jobs . Más de man bash :

Hay varias formas de referirse a un trabajo en el shell. El personaje % introduce un nombre de trabajo. El número de trabajo n puede denominarse %n . También se puede hacer referencia a un trabajo utilizando un prefijo del nombre utilizado para iniciarlo o utilizando una subcadena que aparece en su línea de comando. Por ejemplo, %ce refiere a un trabajo ce parado. Si un prefijo coincide con más de un trabajo, bash informa un error. Usar %?ce , por otro lado, se refiere a cualquier trabajo que contenga la cadena ce en su línea de comando. Si la subcadena coincide con más de un trabajo, bash informa un error. Los símbolos %% y %+ refieren a la noción del shell del trabajo actual, que es el último trabajo detenido mientras estaba en primer plano o se inició en segundo plano. El trabajo anterior puede referenciarse usando %- . En la salida correspondiente a trabajos (por ejemplo, la salida del comando de trabajos), el trabajo actual siempre se marca con un + y el trabajo anterior con un - . Un solo % (sin las especificaciones de trabajo que lo acompañan) también se refiere al trabajo actual.


Solo usa el comando killall:

nombre de tarea killall

para obtener más información y opciones más avanzadas, escriba "man killall".


esta es una respuesta fuera de tema, pero, para aquellos que están interesados, puede ser valiosa.

Como en la respuesta de @John Kugelman,% está relacionado con la especificación del trabajo. cómo encontrarlo de manera eficiente? use el comando less & pattern , parece que el hombre usa menos pager (no es seguro), en man bash type &% y luego escriba Enter solo mostrará las líneas que contengan ''%'', para volver a mostrar todo, escriba &. luego Entrar.


skill doB

skill es una versión del comando kill que le permite seleccionar uno o múltiples procesos basados ​​en un criterio dado.