¿Cómo ejecutar programas desde un terminal de Linux sin bloquear el terminal?

34

Cuando inicio un programa desde una terminal, no puedo volver a usar esa instancia de terminal hasta que cierre el programa.

¿Hay alguna manera de ejecutar un programa / aplicación desde un terminal sin bloquear el terminal hasta que finalice el programa?

ueaiox
fuente

Respuestas:

62

Está buscando un control de trabajo que sea compatible con la mayoría de los shells. Vea este artículo para una introducción. En algún momento, es posible que también desee leer la documentación oficial de bash, que es el shell predeterminado en Ubuntu.

En resumen: para iniciar un trabajo automáticamente en segundo plano, coloque un mensaje &después de la llamada del programa

$ program &

También puede detener programas con CTRLzy luego ponerlos en segundo plano más tarde conbg

$ program
^Z
$ bg

Para hacer que se ejecuten en primer plano, vuelva a usar fg.

Benjamin Bannier
fuente
Descubrir que hay documentación oficial para bash fue una gran ayuda secundaria que obtuve de esta respuesta, ¡gracias!
Admitir el
1

Si el control del trabajo no es exactamente lo que desea, mire en la pantalla .

La pantalla controla múltiples terminales virtuales para que pueda ejecutar múltiples programas sin que interactúen entre sí. Por ejemplo, puede ejecutar mocp (un reproductor de música), aptitude (un administrador de paquetes) y vim (un editor de texto) simultáneamente, a pesar de que todos son programas interactivos que tratan el terminal como si tuvieran acceso exclusivo.

Esto facilita el cambio de una tarea a otra, como la creación de un nuevo terminal dentro de la pantalla para leer una página de manual, sin perder su lugar en otro lugar, voltear de un lado a otro, etc.


fuente
1

En Ubuntu 16.10, no puedo hacer que ctrl + Z se mencione en otra respuesta para funcionar, pero

program &
^C

Funciona para mí, en otras palabras, ctrl + cdespués de que comienzas el programa con un signo final.

Gemtastic
fuente