no hay nada más molesto que ejecutar un comando en su terminal y que se ejecute durante minutos, a veces horas, y no ser capaz de utilizar su terminal de nuevo. Claro, puede usar pestañas, pero esa es una solución torpe, y no siempre es óptima porque es posible que desee ver las actualizaciones mientras trabaja. Aquí le mostramos algunas formas diferentes de ejecutar comandos bash en segundo plano en Linux.,
termine un comando con&
Si desea insertar un comando en segundo plano, usar&
al final es una manera fácil de hacerlo. De esta manera, puede emitir un comando en segundo plano y continuar usando su terminal mientras se ejecuta. Sin embargo, viene con una trampa. Usando &
no desconecta el comando lejos de usted; simplemente lo empuja en segundo plano., Esto significa que mientras intenta usar el terminal, cualquier cosa que el comando quiera enviar a STDOUT
o STDERR
se imprimirá, lo que puede distraer.
COMANDO &
Cuando la sesión de terminal server está cerrado, el comando termina., También puede matar el comando emitiendo el comando jobs
, encontrando el número del comando que se está ejecutando y matándolo con el comando kill
. La sintaxis es la siguiente:
matar a %1
Usando &
es bueno si usted necesita para empujar algo para un poco, pero no es de esperar que continúe para siempre.,
& después de un comando, luego Repudiarlo
ejecutando un comando con solo &
lo empuja hacia atrás y lo mantiene funcionando mientras la ventana del terminal esté abierta. Si, sin embargo, está buscando mantener este comando ejecutándose en constante, incluso con la finalización de su sesión de terminal, puede usar el comando disown
.
para usar este método, comience agregando un &
.,
COMANDO &
Como se mencionó anteriormente, el uso de &
inserta este comando en el fondo, pero no se desprenden de su usuario. Puede verificar esto escribiendo jobs
en el terminal. Mostrará el comando ejecutándose en segundo plano como vimos antes.
simplemente escriba disown
en el shell, y hará precisamente eso. (Y puede verificar esto una vez más con el comando jobs
.,)
Ahora usted puede cerrar su terminal y continuar con su día. Todavía mantendrá la canalización de cosas a STDOUT
o STDERR
, pero una vez que salga y vuelva a abrir su terminal, no verá nada allí., Usted puede encontrar el comando de nuevo con la etiqueta top
o ps
comandos y matar con la etiqueta kill
comando.
& después de un comando con /dev/null
agregar &
después de un comando empujará un comando en segundo plano, pero como resultado, el comando en segundo plano continuará imprimiendo mensajes en terminal como lo estás usando. Si desea evitar esto, considere redirigir el comando a /dev/null
.,
COMANDO &>/dev/null &
Esto no impide que el comando de cierre cuando el terminal se cierra. Sin embargo, como se mencionó anteriormente, es posible usar disown
para rechazar el comando en ejecución lejos del usuario. También puede matarlo en cualquiera de los métodos mencionados anteriormente si no desea que se ejecute más.,
Nohup, con& y/dev/null
a diferencia de los comandos anteriores, usandonohup
le permite ejecutar un comando en segundo plano y mantenerlo en ejecución. ¿Cómo? nohup
omite la señal HUP (signal hang up), lo que permite ejecutar comandos en segundo plano incluso cuando el terminal está apagado. Combine este comando con la redirección a «/dev / null» (para evitar que nohup haga un nohup.out file), y todo pasa al fondo con un solo comando.,
nohup COMANDO &>/dev/null &
la Mayoría de los programas de terminal server en Linux de hoy en día tienen características incorporadas para permitir que se ejecute en segundo plano y con poco esfuerzo. Junto con eso, los sistemas de inicio modernos (como systemd) pueden permitir a los usuarios iniciar programas como servicios en el arranque o cuando sea.,
aún así, algunos programas en Linux carecen de la capacidad de ejecutarse como un demonio o integrarse con sistemas de inicio modernos. Esto es un verdadero inconveniente, pero es comprensible, ya que no todos los desarrolladores tienen la habilidad o el tiempo para agregar nuevas características.
afortunadamente, comandos como nohup
o disown
siguen siendo una realidad y pueden cerrar la brecha en mover programas como este al fondo. No son perfectos ni elegantes, pero hacen el trabajo cuando es necesario.,
si te gustó este artículo de Linux, asegúrate de revisar algunos de nuestros otros contenidos de Linux, como Cómo conectar tu cuenta de Google a GNOME Shell, 5 de las mejores distribuciones de Linux para usuarios de Windows en 2021 y 15 comandos LS que necesitas saber.
relacionados:
John es un joven profesional técnico con una pasión por educar a los usuarios sobre las mejores formas de usar su tecnología. Posee certificaciones técnicas que abarcan temas que van desde hardware informático hasta ciberseguridad y administración de sistemas Linux.,
Obtener nuestras historias entregado a su bandeja de entrada.