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.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

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.


guenterhalt  18.11.2016, 14:56

in Verbindung mit der vorhergehenden Frage von @devmi macht screen überhaupt keinen Sinn, dann für diese Aufgabe benötigt er kein Terminal. 

0
barnim  18.11.2016, 16:29
@guenterhalt

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.

0