Cuando trabajamos en servidores Linux o sistemas basados en Unix, es común que en algún momento deseemos ejecutar procesos que continúen su ejecución incluso después de cerrar nuestra sesión. En estas situaciones, el comando nohup se convierte en una herramienta invaluable. En este artículo, nos adentraremos en la naturaleza y funcionamiento de nohup, y te guiaremos a través de su uso correcto.

Comando Nohup

Comprendiendo el Comando Nohup

El término nohup proviene de la combinación de las palabras «no» y «hang up» (no colgar). Como su nombre lo indica, este comando evita que el sistema «cuelgue» o termine un proceso cuando la sesión desde la que se lanzó es cerrada.

Supongamos que inicias un proceso que sabes que tomará horas en completarse, pero tienes que cerrar tu sesión y apagar tu ordenador. Sin nohup, el proceso se interrumpiría, pero con él, seguirá ejecutándose sin problemas.

Cómo funciona

Cuando ejecutas un comando precedido por nohup, estás indicando al sistema que el proceso debe ignorar la señal de HANGUP (SIGHUP). Esta señal es enviada a un proceso cuando la terminal desde la que se inició se cierra. Al ignorarla, el proceso continúa ejecutándose en segundo plano, sin importar el estado de la sesión original.

Usando el Comando Nohup de manera efectiva

Usar nohup es bastante sencillo. Supongamos que deseas ejecutar el comando mi-proceso en segundo plano:

nohup mi-proceso &

El símbolo & indica al sistema que deseas ejecutar mi-proceso en segundo plano. Posteriormente, nohup generará un archivo llamado nohup.out en el directorio desde el cual se ejecutó el comando. Este archivo contiene cualquier salida (como mensajes de error o de éxito) que mi-proceso pueda generar.

Consideraciones al usar Nohup

  1. Manejo de la salida: Si bien nohup redirige la salida a nohup.out por defecto, es posible especificar un archivo diferente usando la redirección:
nohup mi-proceso > mi-archivo.log &
  1. Combinación con otros comandos: nohup puede usarse en combinación con disown o herramientas como screen o tmux para proporcionar aún más control sobre los procesos en segundo plano.

Monitoreando y gestionando procesos de Nohup

Una vez que un proceso está en segundo plano con nohup, es posible que quieras monitorear su progreso o gestionarlo. Puedes usar el comando ps junto con grep para buscar tu proceso:

ps aux | grep mi-proceso

Para finalizar un proceso de nohup, puedes usar el comando kill con el ID del proceso que te proporciona ps.

Comando Nohup

Preguntas Frecuentes (FAQs)

  1. ¿Puedo usar nohup en cualquier proceso?
    Sí, nohup puede ser usado con prácticamente cualquier comando o proceso que desees ejecutar en segundo plano.
  2. ¿Qué sucede si reinicio mi sistema?
    Aunque nohup permite que un proceso continúe después de cerrar una sesión, el proceso será finalizado si el sistema completo se reinicia.
  3. ¿Hay alternativas a nohup?
    Sí, existen herramientas como screen y tmux que ofrecen funcionalidades similares, pero con características adicionales que pueden ser útiles en escenarios más avanzados.

El comando nohup es una herramienta esencial para aquellos que trabajan con sistemas Linux o basados en Unix, permitiéndonos ejecutar procesos en segundo plano con la confianza de que no se interrumpirán al cerrar una sesión. Aunque su uso es directo, es fundamental comprender su funcionamiento y consideraciones para aprovecharlo al máximo. Esperamos que, con este artículo, ahora tengas un mejor entendimiento sobre nohup y cómo integrarlo eficazmente en tu flujo de trabajo. ¡En Supratech.es, estamos para ayudarte en tu camino tecnológico!

Categorizado en:

Trucos,

Última Actualización: Oct 2, 2023