CTRL+C enviará SIGINT
a la aplicación. La aplicación puede configurar un manejador para esta señal o puede ignorarla. Por defecto no hay ningún manejador y SIGINT
matará la aplicación.
Puede utilizar CTRL+\ que enviará SIGQUIT
. Esto también generará un volcado de núcleo si el límite de núcleo no es cero.
Puede suspender el proceso y volver a Shell con CTRL+Z Esto será Detener la ejecución del proceso y volver al prompt Shell. El proceso estará en memoria y estará disponible como un trabajo en el Shell actual. A continuación, puede utilizar kill -SIGNAL %%
o kill -SIGNAL %<job_ID>
para enviar una señal a ese trabajo. Por ejemplo, para matar el último trabajo utilice kill -9 %%
Si ninguno de ellos funciona, siempre puedes enviar SIGTERM
Entonces, como último recurso, SIGKILL
que terminará cualquier proceso. Esta señal, al igual que cualquier otra, debe ser enviada como el mismo usuario que el proceso que se intenta detener o como root. Para enviar SIGKILL
para procesar, primero encuentre el proceso con ps aux
o ps -edf
y, a continuación, ejecute kill -SIGKILL <process_ID>
donde el <process_ID>
es el PID
columna en ps
de salida.
Las señales no pueden ser entregadas si el proceso está en una llamada ininterrumpida. Las llamadas ininterrumpibles son funciones del kernel que no pueden ser detenidas y suelen ocurrir debido a un mal controlador (por ejemplo, un controlador que no es reentrante ). Un proceso que está en sueño ininterrumpido no puede detenerse hasta que la llamada se complete o el servidor se reinicie.
Si un proceso se convierte en zombi No utilizará ningún recurso, sólo ocupará espacio en la tabla de procesos. Un proceso zombi no puede recibir señales.
La lista de señales para la arquitectura actual se puede encontrar con kill -l
Consulte las páginas de manual de kill
, ps
y bash
. Para ver una página de manual utilice algo como man ps