Cómo usar Nohup en Linux

Cómo usar Nohup en Linux
Imagínese si un proceso crítico se ejecuta en su sistema y tarda mucho en. De repente necesitas cerrar la sesión de tu sistema. Si cierre sesión, sus procesos se detendrán y ciertamente querrá evitar esto. Si desea que su proceso de ejecución continúe sin ninguna interrupción, entonces necesita el comando nohup.

Nohup (representa no colgando) es un comando que ignora la señal HUP. Quizás se pregunte cuál es la señal HUP. Básicamente es una señal que se entrega a un proceso cuando se termina su carcasa asociada. Por lo general, cuando iniciamos sesión, todos los programas y procesos en ejecución se cuelgan o se detienen. Si queremos continuar ejecutando el proceso incluso después del cierre de sesión o la desconexión del shell actual, podemos usar el comando nohup. Hace que los procesos sean inmunes a las señales HUP para que el programa se ejecute incluso después de la sesión. Con nohup, ya no necesitará iniciar sesión durante mucho tiempo solo para esperar a que se complete el proceso.

En este artículo, explicaremos cómo usar el comando nohup en diferentes escenarios en Linux.

Sintaxis del comando nohup

Para usar el comando nohup, la sintaxis es:

$ nohup de comando argumentos

o

$ opciones de nohup

Para encontrar la ayuda con respecto al comando nohup, use el siguiente comando:

$ nohup --help

Para encontrar la información de la versión de Nohup, use el siguiente comando:

$ nohup --versión

Iniciar un proceso usando Nohup

Si desea mantener un comando o proceso en ejecución incluso si sale del shell, use el nohup seguido del comando para ejecutar:

$ comando nohup

Una vez que ejecute el comando anterior, toda la salida, junto con los mensajes de error, se agregará al nohup.Fuera del archivo en el directorio de inicio o en el directorio actual. Ahora, si el shell está cerrado o no cierre el choque, el comando ejecutado anteriormente no se finalizará.

Redirigir la salida a un archivo diferente

Por defecto, la salida del comando nouhup se agrega al nohup.archivo. Para redirigir esta salida a algún otro archivo, use> operador redirector seguido del nombre del archivo específico. Por ejemplo, hemos utilizado el siguiente comando para guardar la salida del comando nohup en un nuevo archivo llamado "myScript.mierda.

$ sudo nohup ./Minnesota.sh> myscipt.Sh &

Iniciar un proceso en segundo plano usando Nohup

Para comenzar y poner el proceso en segundo plano, deberá usar el nohup de la siguiente manera:

$ comando nohup y

El Y El símbolo le dice al shell que ejecute el comando en el fondo. Es similar al comando nohup anterior, excepto que cuando finaliza la sesión, regresa inmediatamente a la solicitud de shell. Para devolverlo a la vanguardia, use el comando "FG".

La salida de todos los comandos que ejecuta se agregará al nohup.archivo. Puede ver este archivo usando el comando CAT NOHUP en el terminal. El número 80132 En la captura de pantalla anterior indica el número de identificación del proceso (PID) del proceso que se ejecuta en segundo plano.

Iniciar múltiples procesos en segundo plano usando Nohup

Puede ejecutar múltiples comandos en segundo plano usando el comando nohup. En el siguiente ejemplo, los comandos Mkdir, Ping y LS se ejecutan en segundo plano utilizando el comando nohup.

$ nohup bash -c 'mkdir archivos &&
ping -c 1 google.com && ls '> salida.TXT

Terminar el proceso que se ejecuta en segundo plano

Para terminar un proceso que se ejecuta en segundo plano, use el comando Kill de la siguiente manera:

$ kill -9 pid

Encontrará el PID de un proceso cuando use el nohup con "&". Otra forma de encontrar PID es a través del comando PGREP -A. Por ejemplo, si ha ejecutado el comando ping con nohup, seguirá funcionando en segundo plano incluso si cierre el shell. Ahora en este caso, para encontrar el PID de un proceso de ping ejecutándose en segundo plano, use este comando:

$ pgrep -A ping

Enumerará todos los procesos asociados con el comando ping.

Ahora para terminar el proceso de ping que se ejecuta en segundo plano, use el comando Kill de la siguiente manera: $ Kill -9 80928SO, esta fue la breve introducción del comando nohup en Linux. El comando nohup se utiliza para evitar que se termine un proceso importante cuando inicie sesión o cierre la sesión. Ayuda mucho cuando ejecuta un proceso, especialmente los scripts que tardan mucho tiempo en completar.