comunidades

Ejecutar comandos Bash en segundo plano de la manera correcta[Linux]

Todo el mundo ha estado allí: está buscando ejecutar un programa de terminal y mantenerlo en funcionamiento. El problema es que este programa es antiguo o no incluye una característica que le permite ejecutarse como un demonio en segundo plano. Afortunadamente, hay varias maneras de forzar a los programas a trabajar en segundo plano.

Bash puede hacer todo esto por sí solo, y no será necesario instalar programas adicionales. Este artículo repasará varias maneras en las que usted puede empujar los programas de la terminal en segundo plano y mantenerlos allí. Cada método listado es bueno para su propio caso de uso especial.

Finalizar un comando con &

Si quieres poner un comando en segundo plano, usar & al final es una forma fácil de hacerlo. Aunque viene con una trampa. Usar & no desconecta el comando de ti; sólo lo empuja en segundo plano para que puedas seguir usando un terminal.

Ejecutar comandos Bash en segundo plano de la manera correcta[Linux]


comando &

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Cuando se cierra la sesión de terminal, el comando termina. Usar &es bueno si necesitas empujar algo un poco, pero no esperes que continúe para siempre.

& Después de una orden, entonces repudiarla

Ejecutar un comando con just &lo empuja hacia atrás y lo mantiene en funcionamiento mientras la ventana de la terminal esté abierta. Sin embargo, si desea mantener este comando ejecutándose de forma constante, incluso con la sesión de terminal terminada, puede utilizar el comando disown.

Para usar este método, primero empieza añadiendo un &.

comando &

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Como se mencionó anteriormente, usar & empuja este comando al fondo pero no lo separa de su usuario. Puede verificar esto escribiendo los trabajos en el terminal. Mostrará el comando ejecutándose en segundo plano.

Ejecutar comandos Bash en segundo plano de la manera correcta[Linux]


Simplemente escriba disown en el shell, y eso es lo que hará (y podrá verificar esto una vez más con el comando jobs).

& After a Command with /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 la terminal a medida que lo estés usando. Si desea evitarlo, considere la posibilidad de redirigir el comando a /dev/null.

Ejecutar comandos Bash en segundo plano de la manera correcta[Linux]


comando &>/dev/null &

Esto no impide que el comando se cierre cuando el terminal se cierra. Sin embargo, como se mencionó anteriormente, es posible usar disown para desconocer el comando en ejecución lejos del usuario.

Nohup, con & y /dev/null

A diferencia de los comandos anteriores, el uso de nohup le permite ejecutar un comando en segundo plano y mantenerlo en ejecución. ¿Cómo? Nohup evita la señal HUP (colgar señal), lo que permite ejecutar comandos en segundo plano incluso cuando el terminal está apagado. Combina este comando con la redirección a /dev/null (para evitar que nohup cree un archivo nohup.out), y todo pasa a segundo plano con un comando.

nohup command &>/dev/null &

Ejecutar comandos Bash en segundo plano de la manera correcta[Linux]


Conclusión

La mayoría de los programas de terminal en Linux hoy en día tienen características incorporadas que les permiten ejecutarse en segundo plano con poco esfuerzo. Junto con eso, los sistemas init modernos (como systemd ) pueden permitir a los usuarios iniciar programas como servicios al arrancar o cuando sea.

Aún así, algunos programas en Linux carecen de la capacidad de ejecutarse como un demonio o integrarse con sistemas init modernos. Esto es un verdadero inconveniente, pero es comprensible, ya que no todos los desarrolladores tienen la habilidad o el tiempo para añadir nuevas características.

Afortunadamente, los comandos como nohupor disown siguen siendo una realidad y todavía pueden cerrar la brecha en el movimiento de programas como este a un segundo plano. No son perfectos ni elegantes, pero hacen el trabajo cuando es necesario.

¿Cómo se mueven los programas de terminal en ejecución en segundo plano? Cuéntanos más abajo!

Crédito de la imagen: Una terminal-cuatro pantallas

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

Dos potentes características del shell de la línea de comandos de Linux son la redirección y las tuberías que permiten que la salida (o incluso la entrada) de un programa se envíe a un archivo o a otro programa. Es posible que ya haya utilizado estas funciones sin ser consciente de ello. Siempre que se ha utilizado el signo «>» en un comando o «|» entonces se ha utilizado la ...

Linux

Anteriormente, hemos realizado un tutorial sobre configuración de varias cuentas de Dropbox en Windows 7 . No hay razón para que dejemos de lado a Mac y Linux también. Así que aquí está, el tutorial para ejecutar múltiples cuentas de Dropbox en Mac y Linux. Nota : El siguiente tutorial asume que ya ha instalado (y configurado) su cuenta principal de Dropbox en su ordenador. El tutorial de Linux es ...

Linux

Una de las mayores ventajas de Ubuntu es la simplicidad del sistema de paquetes APT. Encuentra el programa de escritorio que desea, emite un comando y ya está listo para ejecutarse. Sin embargo, en el caso de las aplicaciones del lado del servidor, esta instalación de APT a veces sólo instala los archivos que necesitará para ejecutar el programa: tendrá que configurar y ejecutar el programa (a men ...

¿Alguna vez se ha preguntado por qué su equipo Linux está funcionando tan lentamente en estos días? A pesar de la alta velocidad de transmisión y el potente hardware, todavía se tarda una eternidad en ejecutar o procesar servicios o aplicaciones. Su computadora Linux parece ser lenta debido a algunas de las siguientes razones: Muchos servicios innecesarios iniciados o inicializados en el momento d ...

Linux

El proyecto WINE ha ayudado a muchos usuarios a seguir utilizando algunos de sus programas favoritos de Windows sin la molestia de tener que arrancar dos veces o perder recursos en una máquina virtual. Crear y ejecutar WINE no es la tarea más fácil, pero afortunadamente la comunidad de código abierto ha producido q4wine , un programa para ayudar a gestionar WINE y el excelente script de winetricks ...

Linux

Enviar un correo electrónico es algo que a menudo no tienes que pensar dos veces. Simplemente encienda su cliente de correo electrónico, ya sea basado en la web o en el escritorio, escriba un mensaje, introduzca la dirección de correo electrónico del destinatario y haga clic en «Enviar». ¿Qué sucede si es necesario que envíe correo electrónico desde la línea de comandos, por ejemplo, par ...

No importa cuán rápido sea su máquina Linux, siempre habrá algunas tareas que consumen mucho tiempo de CPU. Todo, desde la codificación de vídeo hasta la ejecución de modelos matemáticos, puede hacer que la CPU se ejecute al 100%. Esto está bien si la máquina no está haciendo nada más. Pero si es su escritorio principal o se usa como servidor, entonces ejecutar una tarea que maximice su CPU hará q ...

Linux

Ubuntu no permite a sus usuarios iniciar sesión como root directamente. Para los usuarios que deseen ejecutar programas (o editar archivos) con privilegios de root, deben utilizar » sudo » para permitir el acceso a root. Aunque esta es una función muy útil para proteger su sistema, puede ser una tarea problemática y repetitiva. En lugar de pulsar el terminal e introducir el comando  ...

Linux

La gente siempre tiene la impresión de que GNU/Linux es difícil de usar. La mayoría de la gente sigue pensando que GNU/Linux es igual que DOS, donde tienes que navegar escribiendo comandos. Lo bueno es que la mayoría de las distribuciones hoy en día vienen con una interfaz y aplicaciones muy bonitas, y no es necesario entender ninguna línea de comandos para usar Linux. Por otro lado, tener algún c ...

¿Eres un jugador de Linux que quiere transmitir la jugabilidad a Twitch? Durante mucho tiempo, ha sido muy difícil hacerlo en la plataforma Linux. Hasta ahora. Introduzca Castawesome – un front-end FFMPEG diseñado para su uso con Twitch (e incluso algunos otros). Este programa hace que el streaming sea muy fácil. Sólo un poco de configuración y podrás transmitir tu juego a tu propio canal de ...