GNU/Linux >> Linux Esercitazione >  >> Linux

Comandi di shell asincroni

In alternativa, dopo aver avviato il programma, puoi premere Ctrl-Z che interrompe il programma e quindi digitare

bg

che mette in background il tuo ultimo programma interrotto. (Utile se hai iniziato qualcosa senza '&' e lo vuoi ancora in background senza riavviarlo)


nohup cmd

non riattacca quando chiudi il terminale. l'output per impostazione predefinita va a nohup.out

Puoi combinare questo con lo sfondo,

nohup cmd &

ed eliminare l'output,

nohup cmd > /dev/null 2>&1 &

puoi anche disown un comando. digitare cmd , Ctrl-Z , bg , disown


Puoi semplicemente eseguire lo script in background:

$ myscript &

Nota che questo è diverso dal mettere il & all'interno del tuo script, che probabilmente non farà quello che vuoi.


Tutti hanno semplicemente dimenticato disown . Quindi ecco un riepilogo:

  • & mette il lavoro in secondo piano.

    • Blocca il tentativo di leggere l'input e
    • Fa in modo che la shell non aspetti il ​​suo completamento.
  • disown rimuove il processo dal job control della shell, ma lo lascia comunque connesso al terminale.

    • Uno dei risultati è che la shell non gli invierà un SIGHUP (Se la shell riceve un SIGHUP , invia anche un SIGHUP al processo, che normalmente ne provoca l'interruzione).
    • E ovviamente, può essere applicato solo ai lavori in background (perché non puoi inserirlo quando è in esecuzione un lavoro in primo piano).
  • nohup disconnette il processo dal terminale, reindirizza il suo output a nohup.out e lo protegge da SIGHUP .

    • Il processo non riceverà alcun SIGHUP inviato .
    • È completamente indipendente dal controllo del lavoro e in linea di principio potrebbe essere utilizzato anche per lavori in primo piano (anche se non è molto utile).
    • Solitamente utilizzato con & (come lavoro in background).

Linux
  1. Come eseguire uno script di shell in background?

  2. 5 modi per eseguire comandi UNIX/Linux (e script della shell) in background

  3. Qualche modo per eseguire i comandi della shell su Android a livello di codice?

  4. Esegui i comandi della shell dal programma in esecuzione in WINE

  5. I comandi della shell sono scritti in quale lingua?

Come eseguire il comando / script della shell di Linux in background

Come eseguire i comandi Linux in background

Comandi della shell del cluster

Esecuzione di comandi Linux in background e in primo piano

15 utili comandi integrati di Bash Shell (con esempi)

nohup più comandi sequenziali