GNU/Linux >> Linux Esercitazione >  >> Linux

Come fare in modo che un programma continui a essere eseguito dopo essersi disconnesso da ssh?

Supponendo che tu abbia un programma in esecuzione in primo piano, premi ctrl-Z , quindi:

[1]+  Stopped                 myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout

Se è presente un solo lavoro, non è necessario specificare il numero del lavoro. Basta usare disown -h e bg .

Spiegazione dei passaggi precedenti:

Premi ctrl-Z. Il sistema sospende il programma in esecuzione, visualizza un numero di lavoro e un messaggio "Stopped" e ti riporta a un prompt di bash.

Digiti il ​​disown -h %1 comando (qui, ho usato un 1 , ma dovresti utilizzare il numero di lavoro visualizzato in Stopped messaggio) che contrassegna il lavoro in modo che ignori il SIGHUP segnale (non verrà interrotto effettuando il logout).

Successivamente, digita bg comando utilizzando lo stesso numero di lavoro; questo riprende l'esecuzione del programma in background e viene visualizzato un messaggio di conferma.

Ora puoi disconnetterti e continuerà a funzionare...


Dovresti provare a usare nohup ed eseguirlo in background:

nohup sleep 3600 &

Proverei la schermata del programma.


Linux
  1. Come disconnettersi istantaneamente da Ubuntu da un terminale

  2. Come SSH su Linux da Android

  3. Ssh:come avviare un processo durante una sessione Ssh dopo che la sessione è terminata??

  4. Linux:come eseguire un bootloader da Linux?

  5. Esempi di comandi Nohup:esegue un comando che continua a essere eseguito dopo la disconnessione

Come prevenire il timeout di SSH

Come disconnettersi dalla sessione di Ubuntu [Suggerimento per principianti]

Come eseguire la scansione ClamAV da SSH nel server cPanel?

Come mantenere le sessioni SSH remote in esecuzione dopo la disconnessione

Come disconnettere un utente da SSH in Linux

Come verificare se un Cron Job è stato eseguito (registro Crontab)