Linux "sleep 60" im Hintergrund ausführen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

technisch gesehen macht es keinen Sinn , sleep im Hintergrund auszuführen. Hier geht es offensichtlich nur darum Prozesse im Hintergrund auszuführen und wieder in den Vordergrund zu holen.

Hänge an den Befehl starte einfach

sleep 60 &   

Obwohl hier jemand schlafen soll, kann man weiter im Terminal Befehle eingeben, die auch ausgeführt werden. Von sleep merkt man gar nichts.Um den Hintergrundprozess wieder in den Vordergrund zu holen reicht der Befehl

fg

Ob im Hinter- oder Vordergrund, der Prozess "sleep" bleibt "Kind" des Terminals, in der er gestartet wurde. Wird das Terminal gekillt, dann passiert das auch mit sleep ( wenn man unter der Minute bleibt).

nur nohup löst das und nohup.out dient dann als "Auffänger" aller Ausgaben des damit gestarteten Programms. Da sleep nichts ausgibt, bleibt auch nohup.out leer.



Woher ich das weiß:Berufserfahrung

Hänge ein "&" hinter deinen Command.

Mit "fg" holst du den letzten Process wieder in den Vordergrund.


3SC4L4T3 
Beitragsersteller
 12.11.2018, 17:11

 Geben Sie das Kommando „sleep 60“ so ein, dass es selbst dann im Hintergrund weiter ausgeführt wird, wenn sie die shell schließen aus der Sie das sleep-Kommando gestartet haben. 

nohup sleep 60 &

Ich habe versucht aber es wurde eine datei "nohub.out" erstellt.

kannst du mir da auch weiterhelfen ?

Danke

KarlRanseierIII  12.11.2018, 19:19
@3SC4L4T3

Natürlich wird diese von nohub erstellt, mit irgendwas müssen ja die Standardfiledeskriptoren verknüpft sein, wenn der Prozess kein Terminal hat.