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.