Im Alltag eines Systemadministrators kommt es immer mal wieder zum Problem, dass ein Befehl in der Konsole länger läuft, man seinen Notebook jetzt aber mit in die Besprechung nehmen muss. Wer jetzt einfach seinen Rechner ausklinkt, auch wenn er von LAN zu WLAN wechselt, bricht die Ausführung hart ab. Das kann zu heftigen Problemen führen.

Eine Lösung wäre, stets über eine VNC-Sitzung zu arbeiten, denn die läuft weiter. Nervig ist aber die Steuerung in VNC, hier gelten nicht die gewohnten PUTTY-Vorgehensweisen.

Eine Lösung wäre auch, den Befehl gleich beim Start in den Hintergrund zu schicken (&) und den Prozess auch bei Ende der Verbindung weiterlaufen zu lassen (nohup = no hangup) :

nohup <befehl> &

Aber es geht auch dann, wenn man ohne VNC und ohne nohup arbeitet, man kann einen Job nachträglich in den Hintergrund senden und trotz Abmeldung laufen lassen!

Ausgangssituation:
RMAN-Backup wurde gestartet und läuft, "nohup"  und "&" wurden vergessen

ToDo:
Strg-Z pausiert den Prozess (kein Abbruch!)
bg sendet Prozess in Hintergrund (= "&")
jobs zeigt eigene Hintergrundjobs an, wichtig wegen Nummer (obwohl... die liefert bg ja schon)
disown -h %1 um Job [1] nachträglich zu "nohup"pen

Beispiel:
server01:~ # /scripts/rman/start_DB_Full.sh TST > /dev/null 2>&1

[Der Prozess für die Datenbanksicherung läuft......]


^Z
[1]+  Stopped                 /scripts/rman/start_DB_Full.sh TST > /dev/null 2>&1
server01:~ # bg
[1]+ /scripts/rman/start_DB_Full.sh TST > /dev/null 2>&1 &
server01:~ # jobs
[1]+  Running                 /scripts/rman/start_DB_Full.sh TST > /dev/null 2>&1 &
server01:~ # disown -h %1
server01:~ # exit