nohup-running

Hay muchos comandos disponibles en los sistemas Linux. Hay algunos que usarás varias veces al día, y hay otros generalmente reservados para casos de uso especial. Nohup es uno de esos comandos. No lo usarás todos los días, pero estarás agradecido de que esté disponible cuando lo necesites.

¿Qué es Nohup?

Nohup es la abreviatura de “No Hangups”. No es un comando que corres solamente. Nohup es un comando complementario que le dice al sistema Linux que no detenga otro comando una vez que haya comenzado. Eso significa que seguirá funcionando hasta que se complete, incluso si el usuario que lo inició cierra la sesión. La sintaxis para Nohup es simple y se ve así:

nohup sh your-script.sh &

Observa el “&” al final del comando. Eso mueve el comando al fondo, liberando el terminal en el que estás trabajando.

Nohup trabaja con casi cualquier comando que ejecutes en la terminal. Se puede ejecutar con scripts personalizados, comandos de sistema estándar y utilidades de línea de comandos.

nohup-custom-out

Debido a que Nohup puede seguir ejecutándose independientemente del usuario que lo inició, el comando necesita algún lugar para emitir cualquier mensaje o error. Como no hay un terminal para asociarlo, Nohup lo registra todo en un archivo de salida, nohup.out.

De forma predeterminada, ese archivo se encuentra en el directorio en el que iniciaste el comando. Nohup.out es algo único porque contiene tanto la salida estándar como la salida de error juntas. Nohup redirige ambos al mismo archivo de forma predeterminada.

Sin embargo, no necesariamente necesitas usar nohup.out. Es solo el predeterminado. Puedes especificar un resultado personalizado cuando ejecutas nohup y lo colocas en una ubicación personalizada.

nohup sh your-script.sh > /path/to/custom.out &

El resultado personalizado contiene exactamente los mismos datos que el archivo nohup.out estándar.

En este punto, probablemente te estés preguntando qué diferencia a nohup de un proceso desmembrado. Después de todo, ambos parecen cumplir el mismo propósito pero realmente no. Los daemons se ejecutan continuamente en segundo plano. Se reservan mejor para los procesos que no quieres detener, como los servidores. También requieren más trabajo para programar, por lo que no son los mejores para los scripts simples únicos.

Nohup es para un solo uso. Piensa en un script que tardará mucho tiempo en ejecutarse pero que finalmente terminará. Tal vez hay una tarea larga y complicada que ejecutas de vez en cuando que lleva horas completar. No quieres dejar un terminal abierto o un usuario conectado, por lo que utilizas nohup para mantenerlo ejecutándose en segundo plano. Como una ventaja adicional, automáticamente registrará todo para ti.

Puedes ver que nohup no es una herramienta cotidiana, pero puede ser muy útil para la tarea correcta. Se ubica en algún lugar entre una secuencia de comandos corta normal y un daemon que se ejecuta continuamente. Te ayuda a adoptar un enfoque más práctico para las secuencias de comandos más largas que es posible que hayas desperdiciado el tiempo.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 5973 invitados y ningún miembro en línea