Métodos de pago Abuse

Trabajar en el proceso de fondo de Linux

27.01.2023, 23:58

Ya te hemos contado qué es un proceso en segundo plano de Linux y cómo iniciarlo correctamente. En este artículo te contaremos cómo funciona en este modo.

Cómo funciona un proceso en segundo plano

Ejecutar un script en Linux es una tarea, necesitas asegurarte de que funciona correctamente justo después de cerrar la terminal. La terminal se cierra de la siguiente manera: es necesario hacer clic en la cruz que se encuentra en la esquina superior de la pantalla, esto conduce a la terminación de todos los procesos en segundo plano. Existen varios métodos para salvarlos en caso de que se pierda la conexión con el shell interactivo

Primero: eliminar la cola de trabajos de la tarea mediante disown:

disown

Como en los casos anteriores, si hay varios procesos ejecutándose concurrentemente, se debe especificar el número del relativo al que se realizará la acción:

disown %1

Asegúrese de que la tarea no está en la lista de tareas. Cómo hacerlo. Utilice la utilidad jobs -l. Para ver toda la lista de procesos en ejecución, se utiliza el comando:

ps aux

Siguiente método: se guardan los procesos en ejecución con el comando nohup. Este comando después de su ejecución ejecutará a su vez otro comando, todas las señales SIGHUP serán ignoradas.

Puede ejecutar el comando en segundo plano así:

nohup command &

Como puedes ver en la imagen de arriba, la salida del comando será enviada a nohup.out. Lo más importante es que después de cerrar la sesión y cerrar el terminal, el proceso seguirá funcionando. Existen algunas utilidades que permiten ejecutar dos o más sesiones a la vez. En particular, Screen y Tmux te permiten hacer esto.

  • Screen o GNU Screen es un multiplexor de terminales que le permite iniciar una sesión de trabajo y abrir cualquier número de ventanas (terminales virtuales) dentro de ella. Los procesos que se ejecuten en este programa funcionarán aunque sus ventanas sean invisibles o el programa haya dejado de ejecutarse.
  • Tmux es una alternativa más moderna a GNU Screen. Sin embargo, las características de Tmux no son fundamentalmente diferentes - puedes abrir muchas ventanas dentro de una misma sesión de la misma manera. Las tareas que se ejecutan en Tmux continúan ejecutándose si se cierra el terminal.

Hemos solucionado este problema, como puedes ver, todo es elemental y simple.