[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Skript im Hintergrund starten



Hallo,

wie starte ich ein Skript so im Hintergrund, dass das aufrufende 
Shell-Skript vollständig beendet werden kann, also keine Jobs, keine 
Ein- / Ausgabekanäle, kein gar nichts noch geschlossen werden muss. 
Einfach: Starte mir das im Hintergrund, mach dann weiter als ob nichts 
gewesen wäre... ich brauche keine Returncodes.

Für Amiga-Fans: Ich suche das Linux-Equivalent zu:

run <nil: >nil: einskript

Ich hab folgende Varianten versucht:

root@deepdance:~ -> cat /etc/network/if-up.d/chrony
#!/bin/sh

at -f /etc/chrony/network-up.sh now
#/etc/chrony/network-up.sh </dev/nil 2>&1 >/dev/nil &
#screen /etc/chrony/network-up.sh

Mit at klappt es, doch das obiges Skript wird bei einem Neustart des 
Rechners vor der Initialisierung von atd ausgeführt... Natürlich kann ich 
atd auch früher starten lassen, noch lieber wäre es mir jedoch, wenn ich 
ohne Änderungen an der Startreihenfolge, also in dem Fall ohne atd 
auskommen kann.

Mit dem &-Zeichen hängt eben ein Job im Hintergrund rum 
und "/etc/init.d/ifplug start" läuft in ein Timeout. Der Job ist also 
offenbar nicht vollständig unabhängig vom Shell-Prozess, indem obiges 
Skript abläuft. Gibt es eine Möglichkeit mit "&" das zweite Shell-Skript 
wirklich komplett unabhängig  im Hintergrund laufen zu lassen?

Mit "screen" funktioniert es nur in einem Terminal, nicht von einem Skript 
aus - was für einen full screen window manager ja irgendwie auch Sinn 
macht ;).

Noch irgendeine Idee?

Grüße,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7



Reply to: