Cómo usar el comando nohup en Linux

13 dic 2020 2 min di lettura
Cómo usar el comando nohup en Linux
Indice dei contenuti

Introducción

nohup es un comando de los sistemas operativos Unix y tipo Unix, y más en general de los sistemas POSIX, que ejecuta otro comando haciéndolo ignorar la señal SIGHUP (hangup), para permitirle continuar la ejecución incluso en caso de una desconexión desde la terminal, o cerrando el emulador de terminal.

SIGHUP es una señal enviada a un proceso cuando su terminal de control está cerrada.

Normalmente, cuando ejecuta un comando a través de SSH si la conexión se pierde o se desconecta, la sesión SSH se termina y todos los comandos ejecutados por el terminal se terminan.

todas las señales y comandos hangup todavía trabajo.Servidor Nohup para evitar abortar comandos.

Cómo usar el comando nohup

La sintaxis del comando nohup es la siguiente:

nohup COMMAND [ARGS]

El comando no acepta otras opciones excepto el estándar --help y --version .

Echemos un vistazo al siguiente ejemplo:

nohup mycomand 

Debería recibir un mensaje de salida similar al siguiente:

nohup: ignora input e aggiunge output a 'nohup.out'

nohup ejecutará el comando mycommand en primer plano y redirigirá la salida del comando al archivo nohup.out .

Este archivo se creará 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 creará en el directorio de inicio del usuario.

Si cierra la terminal, el comando no terminará.

Ejecutando el comando en segundo plano

L'utilizzo di nohup in foreground non è molto utile in quanto non sarà possibile interagire con la shell fino al completamento del comando.

Per eseguire nohup in background, aggiungere il simbolo & al termine del comando:

nohup mycomand &

Quando si esegue il comando in background, l'ID del processo della shell (circondato da parentesi) e l'ID del processo verranno stampati sul terminale:
Dovreste ricevere un messaggio di output simile al seguente:

[1] 13265

Se per qualche motivo si desidera interrompere il processo, utilizzare il comando kill seguito dall'ID del processo:

kill -9 13265

Reindirizzamento dell'output su un file

desea redirigir la salida del comando a un archivo, puede utilizar la redirección de la shell estándar.De forma predeterminada, nohup redirige la salida al archivo nohup.out.

Por ejemplo, para redirigir la salida estándar y el error estándar al archivo mycommand.out usaremos:

nohup mycommand > mycommand.out 2>&1 &

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

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

Alternativa

Hay una serie de programas alternativos que puede utilizar para evitar cerrar un comando cuando cierra la terminal o cierra la sesión.

o la pantalla de GNU es un programa multiplexor terminal que le permite iniciar una sesión de pantallas y de abrir cualquier número de ventanas (terminales virtuales) dentro de dicho período de sesiones.Pantalla de

Los procesos que se ejecutan en la pantalla continuarán ejecutándose cuando su ventana no sea visible, incluso si cierra la sesión.

Para obtener más información: Cómo utilizar el comando Pantalla para sesiones en Linux.

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

es un sistema incorporado en la cáscara que elimina un trabajo cáscara de la concha de control laboral. A diferencia de nohup, también puede usar Disown en procesos en ejecución.No poseer

Conclusión

A estas alturas, debe tener un buen conocimiento de cómo usar el comando nohup para evitar que los comandos se terminen cuando cierre la sesión o cierre la sesión del terminal.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.