Comando nohup en Linux: Mantener Procesos Activos al Cerrar la Terminal
Independentemente de si los programas en ejecución en el shell están en primer o segundo plano, serán terminados cuando el usuario se desconecte o cierre el terminal.
Esto sucede porque los Jobs reciben la señal SIGHUP (desconexión), que es un aviso del terminal a sus procesos hijos de que ocurrió una desconexión.
Para que esto no ocurra, el comando nohup en Linux vuelve al proceso inmune a la señal SIGHUP, permitiendo que continúe en ejecución incluso si el terminal se cierra o la conexión se cae.
De esta forma, el utilitario nohup ejecuta el comando especificado sin asociarlo a ningún terminal, de forma inmune a caídas de conexión y desconexiones.
En este ejemplo, nohup ejecutará el comando find / -name uira* y enviará la salida a archivos_encontrados, y además se ejecutará en segundo plano:
$ nohup find / -name uira* > arquivos_encontrados &
El nohup ejecuta el comando especificado, pero no permite que reciba ninguna entrada de datos por el terminal.
Todas las salidas (STDOUT), incluyendo mensajes de error (STDERR), serán grabadas en el archivo nohup.out en el directorio de trabajo o en el directorio local.
Puedes usar nohup en primer o en segundo plano. Lo más común es ejecutarlo en segundo plano colocando el "&" al final de la línea de comandos.
Aprende mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente ingresa o crea tu usuario aquí.
¿Te gustó? Comparte
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.