logo

Comando nohup en Linux con ejemplos

Cada comando en Linux inicia un proceso en el momento de su ejecución, que finaliza automáticamente al salir de la terminal. Supongamos que está ejecutando programas a través de SSH y si la conexión se interrumpe, la sesión finalizará, todos los procesos ejecutados se detendrán y puede enfrentar una gran crisis accidental. En tales casos, ejecutar comandos en segundo plano puede resultar muy útil para el usuario y aquí es donde 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 en el shell/terminal.

Comando Nohup

Por lo general, a cada proceso en los sistemas Linux se le envía un SIGHUP (Señal de colgar) que es responsable de finalizar 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, entrada estándar no estará disponible para el usuario y nohup.fuera El archivo se utiliza como archivo predeterminado para salida estándar y stderr . Si la salida del comando nohup se redirige a algún otro archivo, nohup.fuera El archivo no se genera.



Sintaxis del comando Nohup

La sintaxis para utilizar el comando Nohup es sencilla:

conceptos básicos de compilación de ubuntu
nohup command [options] &>
  • `command`> : Especifica el comando o script que desea ejecutar.
  • `[options]`> : Argumentos opcionales o indicadores que modifican el comportamiento del comando.
  • `&`> : Colocar un signo (&) al final del comando le indica al shell que ejecute el comando en segundo plano.

Trabajando con el comando nohup

Comprobando la versión de Nohup

Verificar la versión de Nohup es un proceso simple. Normalmente puede verificar la versión de Nohup instalada en su sistema usando el comando ` --version`> bandera. Simplemente ejecute el siguiente comando:



nohup --version>

Producción:

Iniciar un proceso usando Nohup

Para iniciar un proceso usando Nohup, simplemente anteponga el comando deseado connohup>. Por ejemplo, si desea ejecutar un script bash llamadogeekfile.py>Usando Nohup, usarías el siguiente comando:



nohup bash geekfile.sh>

Producción:

Para redirigir la salida al salida.txt archivo:

nohup bash geekfile.sh>salida.txt>

Producción:

bytes a cadena python

Iniciar un proceso en segundo plano usando Nohup

Para ejecutar el comando en segundo plano, el botón ' &’ El símbolo se añade al final del comando. Después de la ejecución, no regresa al símbolo del sistema del shell después de ejecutar el comando en segundo plano. Se puede volver a poner en primer plano con el fg dominio.

nohup bash geekfile.sh & fg>

Producción:

Nota: El número entre corchetes representa el Identificación del trabajo y el número al lado es el identificacion de proceso .

cadena de java

Para ejecutar múltiples 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'>

Producción:

Aquí, la salida se almacenará de forma predeterminada en nohup.fuera . Para redirigirlo, escriba:

nohup bash -c 'commands'>nombre de archivo.txt>

Ejemplo:

nohup bash -c 'cal && ls'>salida.txt>

Producción:

excepción personalizada en java

Comando nohup en Linux – Preguntas frecuentes

Cuál es el nohup> comando en Linux, ¿y qué hace?

El nohup> El comando significa no colgar. Le permite ejecutar un comando o script de shell de tal manera que continúe ejecutándose incluso después de cerrar sesión o cerrar la terminal. Esto evita que el comando finalice cuando finaliza la sesión del terminal.

linux $ casa

¿Cómo uso el nohup> ¿dominio?

Usar nohup> , simplemente antepóngalo al comando que desea ejecutar. Por ejemplo:

nohup command_to_run &>

El &> El símbolo al final coloca el comando en segundo plano, lo que le permite continuar usando la terminal mientras se ejecuta el comando.

Donde hace nohup> enviar la salida del comando?

Por defecto, nohup> redirige tanto la salida estándar (stdout) como el error estándar (stderr) a un archivo llamado nohup.out> en el directorio actual. Puede especificar un archivo de salida diferente si lo desea.

Puedo usar nohup> ¿Con comandos o programas interactivos?

Mientras nohup> normalmente se usa con comandos o scripts no interactivos, puede usarlo con comandos interactivos. Sin embargo, el comportamiento puede ser impredecible, especialmente si el comando espera una entrada del usuario. Generalmente se recomienda evitar el uso nohup> con programas interactivos.

¿Cómo puedo verificar el estado de un comando que se ejecuta con nohup> ?

Desde nohup> ejecuta el comando en segundo plano, puede utilizar herramientas estándar de Linux como ps> o top> para comprobar el estado del proceso. Por ejemplo:

ps aux | grep>

Esto le mostrará información sobre el proceso, incluido su PID (ID de proceso), que luego puede usar para administrar o monitorear el comando.

Conclusión

En Linux, cuando ejecuta un comando, generalmente se detiene cuando cierra la terminal. Pero con nohup> , puedes mantenerlo funcionando incluso después de haber cerrado la terminal. Esto es muy útil, especialmente si está ejecutando comandos de forma remota y no quiere que se detengan si se corta la conexión.nohup>funciona protegiendo su comando de señales que normalmente lo detendrían. solo agregasnohup>antes de tu orden, y continúa. También puede enviar la salida del comando a un archivo. Solo recuerde, es mejor para tareas no interactivas y puede verificar el estado de su comando usando herramientas comops>. Entonces,nohup>es como una red de seguridad para tus comandos, asegurando que sigan funcionando incluso cuando no estás mirando.