Wie kann ich ein Shell Script im Hintergrund laufen lassen?
3 Antworten
a) im Terminal mit einem & am Ende des Befehls ( ein Script-Name + Parameter wird auch wie ein Befehl behandelt)
b) durch Aufruf (auch wieder mit dem & ) aus einem "Autostart-Programm" oder durch Aufruf in einem Run-Level-Script oder durch einen Cron-Job ....
Bei einem Cron-Job oder anderen Programmen muss man aber etwas machen, dass entweder bereits laufende gleiche Programme beendet werden oder aber dass das Programm selbst erkennt "ich laufe schon" und dann keine weitere Instanz startet.
In der Praxis ist das ganze background- und foreground-Gemache eher semi-geil.
Schau dir mal screen (simpler, kleines feature-set) oder tmux (komplexer, grosses feature-set) an.
Damit laeuft dein Skript auch im "Hintergrund", aber du verlierst dein interaktives Terminal nicht.
Wenn du so anfaengst zu argumentieren, macht es bei der Frage auch keinen Sinn ueberhaupt was im Hintergrund denn via z.B Cron laufen zu lassen.
Viele Wege fuehren bekanntlich nach Rom, screen waere halt meiner.
Hallo devmi,
Hier findest du ein ähnliches Thema mit weiteren Ideen auf Englisch: http://stackoverflow.com/questions/9190151/how-to-run-a-shell-script-in-the-background-and-get-no-output ich hoffe das wird dir helfen.
lg
in Verbindung mit der vorhergehenden Frage von @devmi macht screen überhaupt keinen Sinn, dann für diese Aufgabe benötigt er kein Terminal.