comandos linux

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

El estilo habitual de ejecutar un comando en una terminal de Linux es simplemente ejecutarlo y esperar a que salga correctamente. Una vez que sale el comando, puede proceder a ejecutar otros comandos en sucesión. Esto es lo que se conoce como ejecución de comandos en primer plano. Como sugiere la palabra, puede ver visualmente la salida del comando en la terminal.

A veces, sin embargo, ejecutar comandos en primer plano puede presentar una serie de desafíos. El comando puede tardar demasiado en salir, lo que hace que pierda un tiempo precioso y, en otras ocasiones, puede estar totalmente conectado a la sesión de shell y dejarlo atascado.

En tales casos, la mejor opción es ejecutar un comando en segundo plano. Puede enviar un comando (s) al fondo mientras ejecuta simultáneamente otros comandos en primer plano. Esto mejora la eficiencia del trabajo en la terminal y le ahorra tiempo.

En esta guía, nos enfocamos en cómo puede ejecutar el comando o script de shell de Linux en segundo plano.

Ejecutar comando de shell en segundo plano usando el signo (&)

Para ejecutar un comando o una secuencia de comandos en segundo plano, termínelo con un signo de y comercial (&) al final, como se muestra.

$ comando &

NOTA: Terminar el comando con el signo ampersand no separa el comando de usted. Simplemente lo envía al fondo del shell actual que está utilizando, el comando aún imprimirá la salida en STDOUT o STDERR, lo que le impedirá ejecutar otros comandos en la terminal.

linux-ping-command-fondo

Un mejor enfoque es redirigir el comando a /dev/null y luego agregar el signo ampersand al final como se muestra

$ comando &>/dev/null &

Para confirmar que el comando se envió a un segundo plano, ejecute el comando de trabajos.

linux-shell-comando-dev-null

Para finalizar el proceso en segundo plano, ejecute el comando kill seguido del PID del proceso de la siguiente manera. La opción -9 termina el proceso inmediatamente.

$ kill -9 138314

comando kill-linux-background

Ejecutar comando de shell o script en segundo plano usando el comando nohup

Otra forma de ejecutar un comando en segundo plano es usando el comando nohup. El comando nohup, abreviatura de no hang up, es un comando que mantiene un proceso en ejecución incluso después de salir del shell.

Lo hace bloqueando los procesos para que no reciban una señal SIGHUP (Signal Hang UP), que es una señal que normalmente se envía a un proceso cuando sale de la terminal.

Para enviar un comando o script en segundo plano y mantenerlo en ejecución, use la sintaxis:

$ comando nohup &>/dev/null &

$ nohup shell-script.sh &>/dev/null &

Por ejemplo,

$ nohup ping google.com &>/dev/null &

Nuevamente, puede verificar que el comando se está ejecutando en segundo plano usando el comando:

$ jobs

nohup-linux-shell-comando

Conclusión

En esta guía, hemos cubierto dos formas de ejecutar comandos o scripts de shell en segundo plano. Hemos visto cómo puede ejecutar comandos en segundo plano usando el signo & y el comando nohup.

Leer también : Comando Linux Zip y Unzip con ejemplos

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *