Cuando estan corriendo
Parece que puedes hacer esto con killy la salida de jobs -p.
Ejemplo
$ sleep 1000 &
[1] 21952
$ sleep 1000 &
[2] 21956
$ sleep 1000 &
[3] 21960
Ahora tengo 3 trabajos falsos en ejecución.
$ jobs
[1] Running sleep 1000 &
[2]- Running sleep 1000 &
[3]+ Running sleep 1000 &
Mátalos a todos así:
$ kill $(jobs -p)
[1] Terminated sleep 1000
[2]- Terminated sleep 1000
[3]+ Terminated sleep 1000
Confirmando que todos se han ido.
$ jobs
$
Cuando son detenidos
Si tiene trabajos que están detenidos, en lugar de ejecutarlos, haga esto.
Ejemplo
$ kill $(jobs -p)
$ jobs
[1]+ Stopped sleep 1000
[2]- Stopped sleep 1000
[3] Stopped sleep 1000
OK, eso no los mató, pero eso se debe a que la señal de muerte no puede ser manejada por el proceso en sí, se detiene. Entonces dígale al sistema operativo que mate en su lugar. Para eso -9es a.
$ kill -9 $(jobs -p)
[1]+ Killed sleep 1000
[2]- Killed sleep 1000
[3] Killed sleep 1000
Eso es mejor.
$ jobs
$
Cuando algunos se están ejecutando y otros están detenidos
Si tiene una bolsa mixta de procesos donde algunos se detienen y otros se ejecutan, puede hacer un killprimero seguido de a kill -9.
$ kill $(jobs -p); sleep <time>; \
kill -18 $(jobs -p); sleep <time>; kill -9 $(jobs -p)
Extienda un poco el tiempo si necesita más para permitir que los procesos se detengan primero.
Señales
Ni un HUP (-1) o un SIGTERM (-15) para matar tendrán éxito. ¿Pero por qué? Esto se debe a que estas señales son más amables en el sentido de que le están diciendo a la aplicación que finalice por sí misma. Pero dado que la aplicación está detenida, no puede procesar estas señales. Entonces, su único curso es usar un SIGKILL (-9).
Puede ver todas las señales que killproporciona kill -l.
$ kill -l | column -t
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
Si quieres aprender más acerca de las diversas señales que animo uno a echar un vistazo a la página de señales hombre, man 7 signal.
+símbolo para el primer proceso y un-símbolo para el segundo proceso y ningún símbolo en el tercero?