Respuesta corta
En la terminal que no responde:
- Hit Ctrl+ Z.
- Escribe
bg
y entra.
- Escribe
disown
y entra.
Respuesta larga
En la terminal que no responde, presione Ctrl+ Z, esto "pausará" el proceso (o "trabajo") y le devolverá el control de la consola. Sin embargo, notará que gedit
deja de responder y no puede usarlo.
Extra : si lo desea, puede ejecutar el comando jobs
, notará que se leerá Detenido para el gedit
comando, por eso no puede usarlo.
Para que el trabajo se ejecute correctamente en segundo plano (es decir, para que gedit
responda de nuevo), ejecute el comando bg
(que significa fondo). Ahora podrá usar gedit
y, al mismo tiempo, tendrá el aviso para usted.
Extra : ahora, si ejecuta jobs
, notará que leerá Running .
Puedes superar todo esto desde el principio. Cuando esté iniciando gedit
desde la terminal, agregue un &
al final del comando, así que algo como esto gedit /path/to/file &
. Esto se iniciará gedit
en segundo plano desde el primer lugar (es posible que deba presionar Enterun par de veces para recuperar el control de la consola).
Extra : si seguías estas notas adicionales, es posible que hayas notado que la segunda vez que lo hiciste jobs
, podrías ver que bash agregó un &
al final del gedit
comando.
Una vez que se acostumbre a este sistema, puede notar que si cierra el terminal, gedit también finalizará, sin siquiera un diálogo de confirmación. Para evitar que esto suceda, ejecute disown
, lo que separará el proceso gedit del terminal, eliminándolo de la lista devuelta por jobs
.
Sólo tipo:
gedit <filename-to-edit> &
Esto le devolverá de inmediato el símbolo del sistema.
fuente
Puede usar el
nohup
para evitar que la GUI se conecte a un terminal:Esto le permitirá cerrar la terminal desde la que está iniciando, sin que el programa se cierre.
También debe notar que el comando nohup creará un archivo con
stdout
ystderr
del comando que ejecuta. Si desea evitar eso, agregue&>/dev/null
antes de&
.fuente
nohup.out
contiene la salida del comando. Esto es útil si desea ver mensajes de error. Si no desea que se cree el archivo, agregue la redirección de la siguiente manera:nohup mupdf some.pdf &>/dev/null &
También puedes usar el
disown
comando. Es particularmente útil cuando ya ha comenzado el proceso que ya no desea adjuntar a la terminal.El procedimiento básico, si no recuerdo mal, es algo como esto:
Tenga en cuenta que disown es
bash
específico.Esta publicación de blog explica ambos métodos bastante bien.
Página del manual para disown
fuente
firefox & disown
De
man gedit
:Entonces, si ejecuta
gedit
con-b
opción, comenzará en segundo plano:Además, a continuación puede crear un alias para
gedit -b
(vea aquí cómo crear un alias permanente):A partir de ahora, en el futuro puede usarlo
gedit [FILE-NAME]
normalmente y comenzará en segundo plano.fuente
Sólo tipo:
Al finalizar un comando con
&
in bash, se ejecuta ese comando en segundo plano. Sin embargo, ese proceso todavía está conectado a la terminal.Sin embargoResulta que estaba equivocado, este no es el caso de bash, pero es el caso de zsh. Todavía necesitas correrdisown
, si cierra el terminal, gedit se cerrará, sin siquiera solicitarle que guarde un archivo editado.disown
separa el proceso en segundo plano de la terminal actual, de modo que si cierra la terminal, gedit continuará ejecutándose normalmente.detach
después de hacerlo ctrl, zybg
, sin embargo, incluso en bash.Puede encontrar más información sobre los muebles empotrados
jobs
,disown
y el&
meta-carácter en la página del manual para elbash
comando , especialmente la sección titulada "Control de trabajos".fuente
disown
pude mantener abierto el gedit después de cerrar el terminal. No entendí lo que dijiste sobre "este no es el caso de bash, pero es el caso de zsh"Esto probablemente se deba a que abrió gedit a través de la terminal. Cuando hace esto, ve la salida de la línea de comando que normalmente está oculta si se inicia a través de la GUI. La mejor manera de solucionar esto es abrir una nueva ventana de terminal. El otro estará disponible después del cierre de gedit. También puede usar el interruptor que sugirió el usuario anterior.
fuente