Angenommen, Sie haben ein Programm im Vordergrund, drücken Sie Strg-Z , dann:
[1]+ Stopped myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout
Wenn es nur einen Job gibt, brauchen Sie die Jobnummer nicht anzugeben. Verwenden Sie einfach disown -h
und bg
.
Erklärung der obigen Schritte:
Sie drücken Strg-Z. Das System hält das laufende Programm an, zeigt eine Jobnummer und eine „Gestoppt“-Meldung an und kehrt zu einer Bash-Eingabeaufforderung zurück.
Sie geben den disown -h %1
ein Befehl (hier habe ich einen 1
verwendet , aber Sie würden die Jobnummer verwenden, die in Stopped
angezeigt wurde Nachricht), die den Job markiert, sodass SIGHUP
ignoriert wird Signal (wird durch Abmelden nicht gestoppt).
Geben Sie als Nächstes bg
ein Befehl mit gleicher Auftragsnummer; dies setzt die Ausführung des Programms im Hintergrund fort und eine Meldung wird angezeigt, die dies bestätigt.
Sie können sich jetzt abmelden und es wird weiter ausgeführt..
Sie sollten versuchen, nohup
zu verwenden und im Hintergrund ausführen:
nohup sleep 3600 &
Ich würde den Programmbildschirm ausprobieren.