GNU/Linux >> Linux Esercitazione >  >> Linux

nohup:comando non trovato

Il comando nohup ("no hangup") impedisce a un processo di terminare quando l'utente si disconnette. Ad esempio, se un amministratore avvia uno script di backup e quindi si disconnette dal sistema, lo script interrompe l'esecuzione. Posizionando il comando nohup davanti al comando normale, lo script continua anche dopo che l'amministratore si è disconnesso.

Sintassi

La sintassi del comando nohup è:

# nohup {command/script}

Se si verifica l'errore seguente durante l'esecuzione del comando nohup:

nohup: command not found

puoi provare a installare il pacchetto seguente secondo la tua scelta di distribuzione:

Distribuzione Comando
OS X brew install coreutils
Debian apt-get install coreutils
Ubuntu apt-get install coreutils
Alpino apk aggiunge coreutils
Arci Linux pacman -S coreutils
Kali Linux apt-get install coreutils
CentOS yum install coreutils
Fedora dnf installa coreutils
Raspbian apt-get install coreutils

Esempi

1. Esecuzione di nohup senza specificare un file di output

Facciamo un esempio e testiamo che effettivamente continui a funzionare dopo che ti sei disconnesso. Daremo il via a uno script chiamato script.sh. Il contenuto dello script è il seguente:

# cat script.sh
#!/bin/sh
while(true)
do
	echo "Hello World!"
	sleep 10
done

Eseguiamo lo script in backgroup con il comando nohup:

# nohup script.sh & 
[1] 179 
$ nohup: appending output to `nohup.out`

Come puoi vedere sopra, non abbiamo specificato un file di output. Pertanto, l'output standard e l'errore standard per impostazione predefinita vanno nel file nohup.out nella directory da cui è stato richiamato lo script. Anche il numero 179 Specificato l'ID processo (PID) del lavoro. Questo PID può essere verificato nell'output del comando "ps -ef" come mostrato di seguito.

Ora esci dalla shell, accedi di nuovo ed esegui il seguente comando:

$ ps x | grep script.sh
179  ?   S N  0:01 sh /root/script.sh 
506  p2 S     0:00 grep script.sh

Lo script funziona ancora. Usa “ps -ef | grep ps1” se il tuo sistema non supporta ps x. Puoi anche controllare il file di output nohup.out per ulteriori conferme.

# cat nohup.out
Hello World!
Hello World!
Hello World!
Hello World!
...
NOTA :Se si esegue un altro comando utilizzando nohup, l'output viene aggiunto al file nohup.out esistente. Fai attenzione quando esegui più comandi dalla stessa directory, perché tutto l'output viene inviato allo stesso file nohup.out, che può creare confusione.

Eseguire nohup specificando un file di output

Ora lo script sopra può anche essere eseguito con il comando nohup e specificando un file di output personalizzato come mostrato di seguito:

# nohup script.sh > /tmp/script.out 2>&1
[1] 14235

Conclusione

Se stai eseguendo un processo e non pensi che sarà completato prima che ti disconnetti per la giornata, usa il comando nohup. Nohup continuerà l'elaborazione quando esci dal tuo account. Nohup significa non riattaccare .


Linux
  1. ifrename:comando non trovato

  2. netstat:comando non trovato

  3. kubectl:comando non trovato

  4. tvservice:comando non trovato

  5. ln:comando non trovato

aws-shell:comando non trovato

df:comando non trovato

du:comando non trovato

rm:comando non trovato

mv:comando non trovato

nohup:comando non trovato