GNU/Linux >> Tutoriales Linux >  >> Linux

Comandos de shell asincrónicos

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 un SIGHUP , también envía un SIGHUP 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).
  • nohup desconecta el proceso de la terminal, redirige su salida a nohup.out y lo protege de SIGHUP .

    • 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).

Linux
  1. ¿Enumerar todos los comandos que conoce un shell?

  2. ¿Usar teclas Vi para editar comandos de shell en Unix?

  3. ¿Cómo cambiar Cron Shell (sh a Bash)?

  4. ¿Dividir comandos largos en scripts de Shell?

  5. ¿Continuar con los comandos de Shell una vez conectado a Ssh?

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

Cómo ejecutar comandos de Linux en segundo plano

Comandos de shell de clúster

¿Cómo ejecutar un script de Shell en segundo plano?

15 útiles comandos integrados de Bash Shell (con ejemplos)

5 formas de ejecutar comandos UNIX/Linux (y scripts de shell) en segundo plano