Pregunta: Sé cómo ejecutar un comando de Unix en primer plano. ¿Puede explicarme cómo puedo ejecutar un comando de Linux en segundo plano?
1. Ejecute un comando en segundo plano usando &
Puede ejecutar un comando (o script de shell) como un trabajo en segundo plano agregando un ampersand al comando como se muestra a continuación.
$ ./my-shell-script.sh &
Lea Bg, Fg, &, Ctrl-Z:5 ejemplos para administrar trabajos en segundo plano de Unix para comprender más detalles.
2. Ejecuta un comando en segundo plano usando nohup
Después de ejecutar un comando (o script de shell) en segundo plano usando &, si cierra la sesión, el comando se eliminará. Para evitar eso, debe usar nohup como se muestra a continuación.
$ nohup ./my-shell-script.sh &
Lea Unix Nohup:Ejecute un comando o script de shell incluso después de cerrar sesión para comprender más detalles.
3. Ejecutar un comando usando el comando de pantalla
Después de ejecutar un comando en segundo plano usando nohup y &, el comando se ejecutará incluso después de cerrar la sesión. Pero no puede volver a conectarse a la misma sesión para ver exactamente lo que sucede en la pantalla. Para hacer eso, debe usar el comando de pantalla.
El comando de pantalla de Linux ofrece la capacidad de desconectar una sesión que está ejecutando algún proceso y luego adjuntarlo en un momento posterior. Cuando vuelva a conectar la sesión más tarde, sus terminales estarán allí exactamente como los dejó antes.
Consulte Ejemplos de comandos de pantalla:Obtener el control de la terminal de Linux/Unix para comprender más detalles.
4. Ejecutar un comando como un trabajo por lotes usando at
Con el comando at puede programar un trabajo para que se ejecute en una fecha y hora determinadas. Por ejemplo, para ejecutar el script de respaldo mañana a las 10 a. m., haga lo siguiente.
$ at -f backup.sh 10 am tomorrow
Lea Comprender los comandos at, atq, atrm, batch usando 9 ejemplos para obtener más detalles.
Ejecutar ciertos trabajos en modo por lotes requiere que ciertas opciones estén habilitadas. Los siguientes artículos darán algo de claridad al respecto.
- Cómo capturar la salida del comando superior de Unix en un archivo en formato legible
- Calculadora de línea de comandos de Unix bc en modo por lotes
- Cómo ejecutar SSH y SCP en modo por lotes (solo cuando el inicio de sesión sin contraseña está habilitado)
5. Ejecutar un comando continuamente usando reloj
Para ejecutar un comando continuamente en un cierto intervalo, use el comando de vigilancia como se muestra a continuación.
$ watch df -h
Lea Observar:Repita los comandos de Unix o Shell-Scripts cada N segundos para comprender más detalles.