Comando Linux nohup

el comandonohup ejecuta otro programa especificado como su argumento e ignora todas las señalesSIGHUP (hangup). SIGHUP es una señal que se envía a un proceso cuando su terminal de control está cerrado.

por lo general, cuando se ejecuta un programa sobre SSH, si su conexión se cae o cierra la sesión, la sesión se termina, y todos los procesos ejecutados desde el terminal se detendrán. Aquí es donde el comando nohup es útil., Ignora todas las señales de hangup, y el proceso continuará ejecutándose.

Cómo Utilizar el nohup Comando #

La sintaxis de la etiqueta nohup comando es como sigue:

nohup COMMAND 

El comando no aceptar cualquiera de las otras opciones, a excepción de la norma --help y --version.,

echemos un vistazo al siguiente ejemplo:

nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup ejecuta el mycommand comando en el primer plano y redirecciona la salida del comando a la etiqueta nohup.out archivo. Este archivo se crea en el directorio de trabajo actual . Si el usuario que ejecuta el comando no tiene permisos de escritura en el directorio de trabajo, el archivo se crea en el directorio principal del usuario.

si cierra la sesión o cierra el terminal, el proceso no se termina.,

ejecutar el comando en segundo plano #

Usando nohup en primer plano no es muy útil porque no podrá interactuar con el shell hasta que se complete el comando.

ejecutar el comando en el fondo , añadir la etiqueta & símbolo al final del comando:

nohup mycommand &

La salida incluye el shell ID de trabajo (rodeado con soportes) y el IDENTIFICADOR de proceso:

 25177

puede utilizar el ID de trabajo para traer el comando en el primer plano utilizando la etiqueta fg comando.,

si por alguna razón desea terminar el proceso, use el comando kill seguido del ID del proceso:

kill -9 25132

redireccionando la salida a un archivo #

por defecto, nohup redirige la salida del comando a el archivo nohup.out. Si desea redirigir la salida a un archivo diferente, utilice la redirección de shell estándar.,

por ejemplo, Para redirigir la salida estándar y el error estándar para el mycommand.out podría utilizar:

nohup mycommand > mycommand.out 2>&1 &

Para redirigir la salida estándar y el error estándar para archivos diferentes:

nohup mycommand > mycommand.out 2> mycommand.err &

Alternativas #

Hay varias alternativas de programas que puede utilizar para evitar un comando que se termina cuando se cierra el terminal o se desconecten.,

Screen #

Screen o GNU Screen es un programa multiplexor de terminal que le permite iniciar una sesión de screen y abrir CUALQUIER número de ventanas (terminales virtuales) dentro de esa sesión. Los procesos que se ejecutan en la pantalla continuarán ejecutándose cuando su ventana no sea visible, incluso si se desconecta.

Tmux #

Tmux es una alternativa moderna a la GNU pantalla. Con Tmux, también puede crear una sesión y abrir varias ventanas dentro de esa sesión. Las sesiones de Tmux son persistentes, lo que significa que los programas que se ejecutan en Tmux continuarán ejecutándose incluso si cierra el terminal.,

Disown #

disown es un shell integrado que elimina un trabajo de shell del control de trabajo del shell. A diferencia de nohup, también puede usar disown en procesos en ejecución.

conclusión #

nohup le permite evitar que los comandos se terminen cuando cierra sesión o sale del terminal.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *