Cómo ejecutar los comandos de Linux en segundo plano

Cómo ejecutar los comandos de Linux en segundo plano

Ejecutar comandos de Linux en el fondo permite al usuario continuar ejecutando otras tareas mientras el comando aún se ejecuta. Para ejecutar un comando en segundo plano hay múltiples formas; Uno de los métodos simples es agregar un amperantador (&) Al final de la línea de comando.

Una vez que se ejecuta un proceso en segundo plano, podemos acceder a él utilizando el trabajos dominio. Este artículo presenta todas las formas diferentes de ejecutar un comando en segundo plano.

La lista de diferentes formas de ejecutar un proceso de fondo es la siguiente:

    • Agregar a Ampersand (&) Signo
    • Usando el comando bg
    • Usando el comando nohup
    • Usando el comando de reposo
    • Uso de la utilidad TMUX

El siguiente es el detalle de todos los métodos para ejecutar un proceso de fondo:

1: Usando el signo Ampersand (&)

En Linux Ampersand (&) es un operador de shell que envía un comando en segundo plano como un proceso separado. Al combinar Ampersand (&) a un comando, se ejecutará como un proceso de fondo, permitiendo que el shell continúe procesando otros comandos inmediatamente.

Sintaxis para un proceso de fondo utilizando el signo de amperandos:

$ [comando] y


El símbolo de ampersand siempre se agrega al final del mando con un solo espacio entre "&" y último carácter de mando.

Por ejemplo, cree un proceso de sueño para 40 segundos.

$ Sleep 40


Como podemos ver, el terminal está ejecutando el comando del sueño y no nos permite realizar ninguna otra tarea.


Ahora presiona "Ctrl + Z" Para detener este proceso. A continuación, ejecutaremos el mismo comando de sueño esta vez, pero usar un operador de Ampersand con él lo establecerá en segundo plano.

$ Sleep 40 y



Ahora este proceso está en segundo plano. Para enumerar el uso del proceso de ejecución de fondo:

$ Jobs -l



Ahora mata este proceso de fondo usando:

$ Kill -9 [Job -ID]


Por ejemplo, para matar el uso actual del proceso de sueño en funcionamiento:

$ Kill -9 6149


Ahora el proceso de sueño se mata para confirmar la lista del proceso de ejecución de fondo utilizando.

$ Jobs -l



Aquí hay otro ejemplo de usar & ampersand El signo está con el comando gedit.

Por ejemplo, si abrimos el editor de texto GEDIT directamente usando el terminal, estaremos obligados a usar el shell para otro trabajo o de lo contrario debemos detener el proceso actual primero.

$ gedit


El uso del comando anterior abrirá el editor de texto que lo abrirá frente al terminal.


Pero después de usar "&" al final del comando GEDIT, el shell es de uso gratuito para otros procesos:

$ GEDIT &


2: Usando el comando 'BG'

El comando BG es la segunda forma de ejecutar comandos en segundo plano. Este comando permite al usuario continuar trabajando en el terminal mientras el proceso se ejecuta en segundo plano, liberando el terminal para otras tareas. El comando BG se utiliza para un proceso de fondo de larga ejecución que incluso se ejecuta si el usuario inicia sesión.

Como un signo de ampersand, no tenemos que preocuparnos por agregarlo al comando cada vez que solo envíe texto BG al terminal. Comenzará a ejecutar el proceso en segundo plano y libera el terminal para uso futuro.

Por ejemplo, usemos el ejemplo anterior y enviemos el comando del sueño usando:

$ Sleep 40



Ahora el proceso se está ejecutando y el terminal no está disponible para su uso. Para usar el comando BG y enviar este proceso en segundo plano, primero debemos detener el proceso de ejecución actual presionando "Ctrl+ Z" y ejecutar este comando:

$ BG


Después de enviar el comando bg, el proceso de sueño comenzó a continuar en segundo plano. Podemos ver un ampersand "&" al final, lo que indica que el proceso actual está en segundo plano en funcionamiento.


Para verificar el comando de trabajo de ejecución del proceso en segundo plano:

$ Jobs -l



Para verificar el comando que se ejecuta en fondo, uso:

$ FG



Para matar el proceso actual, use su identificación de trabajo con el comando Kill. Para verificar la identificación de trabajos, ejecutar:

$ Jobs -l



Después de conocer el proceso de matar a los trabajos usando:

$ Kill -9 [Job -ID]


Por ejemplo, para matar el uso actual del proceso de sueño en funcionamiento:

$ Kill -9 6584


Para confirmar si el proceso se mata o no vuelve a ejecutar el comando de trabajos:

$ Jobs -l


Podemos ver que el proceso de sueño ya no se ejecuta en segundo plano:

3: Usando el comando nohup

El comando nohup es el tercero en nuestra lista de procesos de fondo en Linux. El comando significa "sin colgar" y se utiliza para evitar que el proceso termine hasta que finalice la sesión terminal. Cuando se ejecuta un proceso utilizando Nohup, continúa ejecutándose incluso si el usuario se inicia y la salida del proceso se redirige a un archivo nombrado "Nohup.afuera".

El comando nohup para hacer ping Google continuamente en el fondo es y la salida se redirige a un archivo de texto Googleping.TXT:

$ nohup ping google.com> googleping.TXT &


Después de escribir este comando, podemos ver que el terminal es gratuito y un proceso de fondo para hacer ping continuamente Google se está ejecutando en segundo plano.


Para acceder al archivo de registro, podemos usar el siguiente comando:

$ Cat Googleping.TXT



También se puede acceder al archivo de registro utilizando la GUI desde la pantalla de inicio.

4: Usando el comando de reposo

El comando de reposo elimina un proceso de los shell y lo ejecuta en segundo plano. Cuando se repudia un proceso, ya no se asocia con el terminal y continúa ejecutándose incluso después de que el usuario inicie sesión o cierre el terminal.

Anteriormente hemos utilizado el comando ampersand "&" que envía el proceso en segundo plano después de su ejecución, pero a medida que cerramos el shell se termina el proceso. Para deshacerse de este comando de reposo está ahí.

El comando de reposo no puede funcionar de forma independiente, pero se debe ejecutar un mínimo de un proceso en segundo plano.

Ejecute el siguiente comando con un Y AMPERAY SIGNO que enviará su comando a fondo.

$ ping google.com> googleping.TXT &


Después de crear el archivo, podemos enumerarlo utilizando el comando de trabajos.


Ahora nuestro proceso se está ejecutando en segundo plano para separarlo del uso terminal:

$ sin duda



Ejecute nuevamente el comando de trabajos para confirmar que el proceso se separa de la terminal:

$ Jobs -l


Como nuestro proceso se está ejecutando actualmente, pero ya no se muestra dentro del terminal:


Para confirmar nuestro proceso, podemos usar el comando CAT para acceder a ese archivo de ping:

$ Cat Googleping.TXT



Hemos separado con éxito este proceso de la terminal, pero aún se está ejecutando en segundo plano.

5: Uso de la utilidad TMUX

TMUX es un tipo de utilidad multiplexor terminal. Usando TMUX podemos crear múltiples sesiones de terminales dentro de una sola carcasa. Proporciona la capacidad de ejecutar procesos en segundo plano.

Para ejecutar un proceso de fondo en TMUX, puede crear una nueva sesión y luego separarse de ella utilizando la combinación clave Ctrl-B seguido de D.

Para instalar la utilidad TMUX en Ubuntu y Linux Mint Use:

$ sudo apt install tmux



Para instalar en Fedora Run:

$ sudo dnf install tmux


Para instalar en Arch Linux Run:

$ sudo Pacman -S Tmux


Ahora ejecute el comando TMUX para abrir un nuevo terminal:

$ tmux


Para crear un nuevo uso de la sesión de TMUX:

$ tmux new -s [session_id]


Para enumerar todo el uso de la sesión de TMUX:

$ tmux ls


Para matar un comando de uso de una sesión de TMUX como:

$ tmux kill -session -t [session_id]


Por ejemplo, para matar "0" Uso de la sesión de TMUX:

$ tmux kill -session -t 0


Aquí enumeramos la sesión activa de TMUX activa y la matamos usando el comando anterior:


    • Para separar de la press de la sesión de TMUX "Ctrl+B+D".
    • Para obtener una lista de todos los comandos, presione "Ctrl+B+?".
    • Cambiar entre tmux windows press "Ctrl+B+O".

Para dividir el terminal TMUX verticalmente, presione "Ctrl+B" y escribir De %.


Para volver a la terminal principal de tmux usar:

$ Salida

Conclusión

Ejecutar aplicaciones de fondo en Linux es una característica poderosa que permite a los usuarios mantener sus tareas de larga duración incluso después de cerrar la sesión fuera del terminal o cerrar la ventana. Generalmente un ampersand & signo o BG El comando se utiliza para enviar un proceso en segundo plano. Sin embargo, también podemos usar nohup o renegar de comandar separar un proceso desde la terminal. Por fin, podemos usar el utilidad TMUX para crear múltiples terminales y ejecutar procesos de fondo sin alterar el terminal.