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

Re: Aus einem Script einen unabhängigen Proze ss starten



-----BEGIN PGP SIGNED MESSAGE-----

Moin,


On Wed, 23 Mar 2005, Michelle Konzack wrote:

> > Kann es sein, daß das Script aus "cron" oder von "ssh $host $scriptname" 
> > oder von sonst irgendeiner Instanz aus aufgerufen wird, die gleich nach 
> > dem Ende des Scripts einen logout durchführt?
> 
> Es ist ein 'cron' Script das alle 15 Minuten aufgerufen wird,
> aber alle 10 Sekunden die Funktion aufrufen soll.

Jetzt habe ich das Gefühl, das Problem verstanden zu haben.

Wie vermutet ist es also eine bash, die durch ihr Ende ein "SIGHUP" an die 
Jobs schickt. "nohup" bringt's da nur bedingt, da es das gesamte Script 
vor dem HUP schützt. Die gestarteten Jobs müssen also von der Shell gelöst 
werden. </Besinnungsaufsatz>

Magst Du daher mal die kleine Erweiterung von "blah.sh" versuchen?

== cut ==
#!/bin/sh

Machwatt() {
        echo "Gschdadded $1"
        sleep 20;
        echo "Ferdig $1"
}
 
i=1
while [ $i -le 3 ] ; do
        echo "Starte Machwatt($i)"
        Machwatt $i &
	disown   # ggf. -h
        sleep 2
        i=$(( $i + 1 ))
done

( sleep 2 ; ps axuf | grep $0 | grep -v "grep" ) &

echo "Hauptteil hat fertig"

jobs

== cut ==

Das "jobs" am Ende dient nur zum Zeigen, daß die "disown"ten Funktionen 
tatsächlich keine Verbindung mehr zur Shell haben, indem "jobs" nur noch 
den "ps" ausgibt. Anständige Mitteleuropäer detachen auch noch 
stdout,stderr und stdin von der Shell, aber wer ist heutzutage noch 
anständig? ;-)


> den das Script ./blah.sh soll ja beenden und nur die childs sollen
> weiterrennen, sprich ich habe gerade versucht, in dem Script die 
> Funktion mit 'hohup' aufzurufen, was aber nicht funktionierte.

ggf. muß man den "disown" noch um "-h" ergänzen, damit die Funktion das 
SIGHUP ignoriert.


> Es wird einfach ignoriert...  Ich habe also das gleiche Problem
> wie mit der expandierung von [A-Z]*

Oh! Das hab ich noch nicht mal ignoriert. ;-)


	t++
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Made with pgp4pine 1.76

iQCVAwUBQkJGsCCyfuBQJJfZAQEddwQAmIUIB38WTu8ZvP9OBWo7La/PP46cakMy
YwIix9ef3HG39CPAfszIujPJZmbMTfSHzlK9FgUe4nRip1Vtbe60iImTArzqd5aC
UW/NHMLoAd5OxyXvk5sMZbyi3MRvvPM4s1aMvv+bR+g1PawjtAHj31Cilvejg4qu
l+5gPWXG00Y=
=4FC2
-----END PGP SIGNATURE-----

Reply to: