¿Alguna vez se ha encontrado con una situación en la que tiene que suspender una tarea en curso porque tiene tareas más importantes que ejecutar y desea reanudar la tarea anterior más tarde?
En realidad, es posible y se puede hacer con bastante facilidad utilizando dos señales de terminación:STOP
yCONT
.
Y en esta guía, lo guiaré paso a paso para suspender y reanudar el proceso nuevamente en Linux.
Suspender el proceso en Linux
Tienes dos opciones para suspender el proceso:
- Utilizando el
Ctrl + Z
acceso directo (para un proceso que se ejecuta en primer plano) - Usar el comando matar con el
STOP
señal
1. Suspender un proceso en primer plano
Déjame darte un example puedes ver. Corro Firefox desde la línea de comando con este comando:
firefox
El navegador se ejecuta y puede ver una salida extraña en la terminal. Esta bien.
No, suspendo el Firefox proceso que se ejecuta en primer plano con el atajo de terminal Ctrl+z:
Ctrl+z
Y esto es lo que sucede. El Firefox El proceso está suspendido y puedes verlo en la terminal. Después de unos segundos de retraso, aparece un cuadro de diálogo para notificar que el Firefox el navegador ya no responde.
2. Suspender un proceso enviando señal de STOP
Cuando el proceso se ejecuta en segundo plano, no puede utilizar elCtrl + Z
atajo. En ese caso, tendrías que usar el comando matar.
Veamos esto con un example. Ejecuto el comando de suspensión durante mucho tiempo. Pero estoy ejecutando el comando en segundo plano agregando&
he aquí.
sleep 4949 &
Puede verificar los procesos en segundo plano utilizando eljobs
dominio:
jobs
Puedo ver el ID del proceso en el example. Hay varias formas de encontrar el ID del proceso. Puede usar el comando ps y grep en el nombre del proceso.
Una vez que tenga la ID del proceso, puede suspender el proceso usando el comando kill de la siguiente manera:
kill -STOP <PID>
En mi caso, el PID es 26589, entonces tendría que usar el siguiente comando:
kill -STOP 26589
Y como puede ver, el proceso se detiene con éxito.
Reanudando el proceso de nuevo
Para reanudar el proceso, tendría que usar elCONT
bandera con el comando matar como se muestra:
kill -CONT <PID>
En mi caso, el PID fue26589
entonces, el comando sería:
kill -CONT 26589
Y como puede ver, después de reanudar el proceso, usé el comando de trabajos, que mostró que el proceso se estaba ejecutando como debería.
Conozca más sobre las señales de terminación
Aparte deSTOP
yTERM
señales que expliqué anteriormente, el comando kill ofrece varias otras señales de terminación para matar el proceso con diferentes efectos.
E hicimos una guía detallada sobre cómo puede usar los más populares:
Espero que encuentre útil este consejo rápido.