GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa significa &alla fine di un comando Linux?

Inoltre, puoi utilizzare il segno "&" per eseguire molti processi attraverso una (1) connessione ssh per mantenere un numero minimo di terminali. Ad esempio, ho un processo che ascolta i messaggi per estrarre i file, il secondo processo ascolta i messaggi per caricare i file:Usando "&" posso eseguire entrambi i servizi in un terminale, tramite una singola connessione ssh al mio server .

Questi processi che passano attraverso "&" rimarranno attivi anche dopo la chiusura della sessione ssh. Abbastanza pulito e utile se la connessione ssh al server viene interrotta e non è stato utilizzato alcun multiplexer di terminale (schermo, tmux, byobu).


Quando non viene detto diversamente, i comandi prendono il sopravvento. Hai solo un processo "in primo piano" in esecuzione in una singola sessione di shell. Il simbolo &indica ai comandi di essere eseguiti in un processo in background e ritorna immediatamente alla riga di comando per ulteriori comandi.

sh my_script.sh &

Un processo in background non rimanere in vita dopo la chiusura della sessione della shell. SIGHUP termina tutti i processi in esecuzione. Di default comunque. Se il tuo comando è di lunga durata o viene eseguito a tempo indeterminato (ad esempio:microservizio), devi eseguirlo con nohup in modo che rimanga in esecuzione dopo la disconnessione dalla sessione:

nohup sh my_script.sh &

MODIFICA: Sembra che ci sia un'area grigia relativa alla chiusura dei processi in background quando viene utilizzato &. Tieni solo presente che la shell può chiudi il processo in base al tuo sistema operativo e alle configurazioni locali (in particolare su CENTOS/RHEL):https://serverfault.com/a/117157.


Il & esegue il comando in background.

Da man bash :

Se un comando viene terminato dall'operatore di controllo & , la shell esegue il comando in background in una subshell. La shell non attende la fine del comando e lo stato di ritorno è 0.


Linux
  1. Cosa significa e commerciale alla fine di una riga di script di shell?

  2. Cosa significa nell'output di Ps?

  3. Qual è la definizione di una sessione in Linux?

  4. Cosa significa il simbolo della pipe Linux | fare?

  5. Cosa significa il nome dell'interfaccia eth0 in Linux?

Cos'è il comando Linux Watch + Esempi

Cosa significa Cat Command in Linux?

Qual è il comando kill in Linux?

Qual è la tabella dei processi Linux? In cosa consiste?

Cosa significa ./ (punto barra) in Linux?

Cosa significa il suffisso .d in Linux?