Alternativamente, después de ejecutar el programa, puede presionar Ctrl-Z, lo que detiene su programa y luego escribir
bg
que pone su último programa detenido en segundo plano. (Útil si comenzó algo sin '&' y aún lo quiere en segundo plano sin reiniciarlo)
nohup cmd
no cuelga cuando cierras la terminal. la salida por defecto va a nohup.out
Puede combinar esto con el fondo,
nohup cmd &
y deshacerse de la salida,
nohup cmd > /dev/null 2>&1 &
también puedes disown
un comando. escribe cmd
, Ctrl-Z
, bg
, disown
Simplemente puede ejecutar el script en segundo plano:
$ myscript &
Tenga en cuenta que esto es diferente de poner el &
dentro de su secuencia de comandos, que probablemente no hará lo que desea.
Todo el mundo se olvidó de disown
. Así que aquí hay un resumen:
-
&
pone el trabajo en segundo plano.- Hace que se bloquee al intentar leer la entrada, y
- Hace que el shell no espere a que se complete.
-
disown
elimina el proceso del control de trabajo del shell, pero aún lo deja conectado a la terminal.- Uno de los resultados es que el shell no le enviará un
SIGHUP
(Si el shell recibe unSIGHUP
, también envía unSIGHUP
al proceso, lo que normalmente hace que el proceso finalice). - Y obviamente, solo se puede aplicar a trabajos en segundo plano (porque no puede ingresarlo cuando se está ejecutando un trabajo en primer plano).
- Uno de los resultados es que el shell no le enviará un
-
nohup
desconecta el proceso de la terminal, redirige su salida anohup.out
y lo protege deSIGHUP
.- El proceso no recibirá ningún
SIGHUP
enviado . - Es completamente independiente del control de trabajos y, en principio, podría usarse también para trabajos en primer plano (aunque eso no es muy útil).
- Usualmente usado con
&
(como trabajo de fondo).
- El proceso no recibirá ningún