Re: bash exception

Thomas Moritz <[email protected]>
Newsgroups gmane.linux.suse.programming
Organization -
Message-ID <[email protected]>
Am Montag, 22. Oktober 2007 23:11:51 schrieb Christian Boltz:

Hallo Christian, hallo Leute,

> > Ich moechte erreichen, dass das Script nicht stirbt, sondern
> > nach "sleep 5" beim naechsten Input wieder versucht die
> > aktuelle Nachricht zu senden.
> > Ist das per bash ueberhaupt moeglich?
>
> Wenn das aufgerufene Programm/Script nicht gerade "kill $PPID"
> macht, würde ich das sogar für ein übliches Verhalten halten ;-)
> Eigentlich[tm] ist es also komisch, dass Dein Script gekillt
> wird.
>
> Mangels Kristallkugel: Zeigst Du das Script mal?

Na gut, nicht _das_ Script, aber ein simples Beispiel :-)
Ist zwar ein bloedes Beispiel, aber steigt so aus, wie mein 
wirkliches Script.
( und nein, es liegt hier nicht an while true )

#!/bin/bash

set -e

while true
do
curl "http://192.168.1.1/control/message?nmsg=xyz" #> /dev/null 2>&1
echo "bin noch da"				  #^ for testing only
sleep 5
done
echo "Schleife beendet"

Gibt es _keine_ Verbindung zum Host, dann Ausstieg mit:
curl: (7) couldn't connect to host
Es wird nicht die Schleife verlassen, sondern das Script stirbt, 
denn "Schleife beendet" bekommst Du nicht zu sehen.

Ich hatte schon mit dem Gedanken gespielt, den Kram ueber die 
crontab zu regeln. Gibt es fuer das Script eine PID, dann OK, 
ansonsten Script neu starten. Lieber waere mir natuerlich eine 
andere Loesung.

MfG Th. Moritz
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.