Por lo general, en Linux, cuando se interrumpe la conexión o el usuario cierra sesión en el sistema, la sesión finalizará y todos los procesos ejecutados desde la terminal se detendrán. Si desea que un programa o comando siga ejecutándose en segundo plano incluso después de cerrar sesión o salir del sistema, es posible que deba usar el comando nohup.
El comando nohup ejecutará otros programas o comandos con sus argumentos proporcionados e ignorará todas las señales de colgado. Este comando es útil, especialmente cuando está conectado a su servidor a través de SSH y desea que el programa o comando siga ejecutándose en segundo plano incluso después de desconectarse del servidor.
Comando Linux Nohup
Sintaxis:
nohup COMMAND [ARGS]
o
$ nohup options
Para encontrar ayuda sobre el comando nohup:
$ nohup --help
Para encontrar la información de la versión de nohup, use el siguiente comando:
$ nohup --version
1. Ejecutar comando en primer plano
De forma predeterminada, el comando nohum se ejecuta en primer plano y redirige la salida al archivo 'nohup.output'. Este archivo se creará en el directorio de trabajo actual. Si el usuario no tiene permiso, se creará en el directorio de inicio del usuario.
$ nohup ls
Ejemplo:
2. Ejecutar el comando en segundo plano
El uso del comando nohup en primer plano tiene el inconveniente de que no puede interactuar con el terminal hasta que finaliza la ejecución del comando. Entonces, para evitar esto, ejecutaremos el comando en segundo plano así
$ nohup ping fosslinux.com
Ejemplo:
Puede ver en el ejemplo anterior que toda la salida del comando se agregará al archivo nohup.out. Puede ver este archivo usando el comando 'cat nohup' en la Terminal.
[1] 2233
Donde [1] es el ID del trabajo y 2233 es el (PID) del proceso en segundo plano. Puede usar este ID de proceso para eliminar el proceso en segundo plano:
$ kill 2233
El comando anterior eliminará el proceso en segundo plano.
3. Redirigir la salida a un archivo
De forma predeterminada, el comando nohup escribe la salida en nohup.out
expediente. También puede definir su propio archivo de salida utilizando la redirección de shell estándar.
$ nohup ls > list.out
Ejemplo:
También puede crear archivos separados para la salida y el error utilizando la siguiente línea de comandos.
nohup ls > list.out 2 > list.err
4. Ejecución de varios comandos
También puede ejecutar múltiples comandos con nohup. En el siguiente ejemplo, los comandos mkdir, bash y ls se ejecutan en segundo plano.
$ nohup bash -c 'mkdir fossDir && ls'
Ejemplo:
Conclusión
En este tutorial, los usos del comando nohup se explican con ejemplos sencillos, y esperamos que ahora pueda comprender muy bien la utilidad de este comando. Por favor, siéntase libre de dejar un comentario.