GeeksforGeeks

cada comando en Linux inicia un proceso en el momento de su ejecución, que se termina automáticamente al salir de la terminal. Supongamos que está ejecutando programas a través de SSH y si la conexión se cae, la sesión se terminará, todos los procesos ejecutados se detendrán y puede enfrentar una gran crisis accidental. En tales casos, ejecutar comandos en segundo plano puede ser muy útil para el Usuario y aquí es donde el comando nohup entra en escena., nohup (No Hang Up) es un comando en sistemas Linux que ejecuta el proceso incluso después de cerrar sesión desde el shell/terminal.

Por lo general, cada proceso en sistemas Linux se envía un SIGHUP (señal colgar) que es responsable de terminar el proceso después de cerrar/salir de la terminal. El comando nohup evita que el proceso reciba esta señal al cerrar o salir del terminal/shell. Una vez que se inicia o ejecuta un trabajo usando el comando nohup, stdin no estará disponible para el Usuario y nohup.out file se utiliza como el archivo predeterminado para stdout y stderr., Si la salida del comando nohup se redirige a algún otro archivo, nohup.el archivo out no se genera.

sintaxis:

nohup command 

trabajando con el comando nohup

1. Comprobación de la versión de Nohup:

la versión del comando nohup se puede comprobar mediante el siguiente comando.

$ nohup --version

Resultado:

2. Para ejecutar un comando en primer plano:

ejecuta el comando en primer plano y redirige la salida del comando a nohup.out archivo si no se menciona ningún nombre de archivo de redireccionamiento.,

$ nohup bash geekfile.sh

Resultado:

para redirigir la salida A la salida.archivo txt:

$ nohup bash geekfile.sh > output.txt

Resultado:

3. Para ejecutar un comando en segundo plano (con ‘&’):

ejecutar el comando en el fondo, el ‘&’ símbolo se añade al final del comando. Después de ejecutar, no vuelve al símbolo del sistema de shell después de ejecutar el comando en segundo plano. Se puede traer de vuelta al primer plano con el comando fg.,

$ nohup bash geekfile.sh &fg

Resultado:

Nota: El número entre corchetes representa el trabajo de identificación y el número es el identificador de proceso.

4. Para ejecutar varios comandos en segundo plano:

el comando nohup se puede utilizar para ejecutar varios comandos en segundo plano.

$ nohup bash -c 'commands'

Ejemplo:

$ nohup bash -c 'cal && ls'

Resultado:

Aquí, el resultado será, por defecto se almacenan en nohup.fuera. Para redirigir, escriba:

$ nohup bash -c 'commands' > filename.txt

Ejemplo:

$ nohup bash -c 'cal && ls' > output.txt

Resultado:

las Etiquetas de Artículo :

Deja una respuesta

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