Imagine si un proceso crítico se está ejecutando en su sistema y toma mucho tiempo. De repente necesitas cerrar sesión en tu sistema. Si cierra sesión, sus procesos se detendrán, y sin duda querrá evitar esto. Si desea que su proceso en ejecución continúe sin ninguna interrupción, entonces necesita el comando nohup.

Nohup (significa no hangup) es un comando que ignora la señal HUP. Tal vez te estés preguntando cuál es la señal HUP., Es básicamente una señal que se entrega a un proceso cuando se termina su shell asociado. Por lo general, cuando cerramos la sesión, todos los programas y procesos en ejecución se bloquean o se detienen. Si queremos seguir ejecutando el proceso incluso después de cerrar sesión o desconectarnos 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 cerrar sesión. Con nohup, ya no tendrá que 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.,para obtener el comando nohup, use el siguiente comando:

help nohup help help

para encontrar la información de la versión de nohup, use el siguiente comando:

version nohup version version

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:

command nohup command

Una vez que ejecute el comando anterior, toda la salida, junto con los mensajes de error, se agregarán al nohup.,archivo out en el directorio Home o en el directorio actual. Ahora, si el shell está cerrado o cierra la sesión, el comando ejecutado anteriormente no se terminará.

redirigir la salida a un archivo diferente

de forma predeterminada, el comando output of nouhup se agrega al nohup.fuera de archivo. Para redirigir esta salida a otro archivo, utilice > 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.sh».

$ sudo nohup ./ mn.,sh > myscipt.sh &

Iniciar un proceso en segundo plano con Nohup

Para iniciar y poner el proceso en el fondo, usted tendrá que utilizar el nohup de la siguiente manera:

$ nohup comando &

El & símbolo indica el shell para ejecutar el comando en el fondo. Es similar al comando nohup anterior, excepto que cuando la sesión termina, regresa inmediatamente al símbolo del shell. Para traerlo de vuelta a la vanguardia, utilice el comando» fg».,

La salida de todos los comandos a ejecutar será anexado a la nohup.fuera de archivo. Puede ver este archivo usando el comando cat nohup en la 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 varios procesos en segundo plano utilizando nohup

puede ejecutar varios comandos en segundo plano utilizando el comando nohup. En el siguiente ejemplo, los comandos mkdir, ping y ls se ejecutan en segundo plano mediante el comando nohup.,

$ nohup bash -c ‘mkdir archivos &&
ping -c 1 google.com && ls’> salida.txt

terminar un proceso que se ejecuta en segundo plano

para terminar un proceso que se ejecuta en segundo plano, utilice el comando kill de la siguiente manera:

kill kill -9 PID

encuentre 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á ejecutándose en segundo plano incluso si cierra el shell. Ahora en este caso, para encontrar el PID de un proceso Ping que se ejecuta en segundo plano, use este comando:

di pgrep –a ping

enumerará todos los procesos asociados con el comando Ping.,

ahora para terminar el proceso Ping que se ejecuta en segundo plano, use el comando kill de la siguiente manera: kill kill -9 80928So, esta fue la Breve introducción del comando nohup en Linux. El comando Nohup se usa para evitar que un proceso importante se termine cuando se cierra la sesión o se cierra la sesión. Ayuda mucho cuando se está ejecutando un proceso, especialmente los scripts que tardan mucho tiempo en completarse.