[PATCH 1/2] nodewatcher: split up

Adrian Schmutzler mail at adrianschmutzler.de
Mi Okt 9 14:22:38 CEST 2019


Hallo Robert,

>>> In $? ist in diesem Fall der Exitstatus der Subshell. 
>> Da müsste man dann überlegen, was den Exitstatus der Subshell determiniert. 
>> 
>> Klingt für mich sehr danach, als ob man einfach [ -n "$tmp" ] prüfen sollte. 
> Nein, das ist schon richtig so. Wenn der Timer zuschlägt und das Skript 
> noch nicht fertig ist, steht zerhacktes in $tmp. Wir bekommen dann 
> $?=143 (SIGTERM) und man kann das Ganze mit if [ $? = 0 ] verwerfen. 
> Wichtig ist auch vernünftiges Fehlerhandling in den Skripten. Ein exit 1 
> landet hier in $?. 

Okay, das spricht gegen -n.

Ich bin mir nur nicht sicher, ob bei dem ganzen asynchronen Prozessgedöns dann auch der richtige exit status "der letzte" ist.
Ich habe das daher mal getestet und es scheint aber wunderbar zu funktionieren.

Allerdings habe ich hier ein anderes Problem:

Wenn ich das echo von run_with_timeout abfange, braucht er die gesamte wait time:
z.B. tmp=$(run_with_timeout false)
blockiert die Konsole entsprechend.

Wenn ich run_with_timeout direkt aufrufe, ist er sofort fertig, z.B.
run_with_timeout false

Output und Status-Code werden in beiden Fällen korrekt verarbeitet.

Hat da jemand eine Idee?

Grüße

Adrian
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : openpgp-digital-signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20191009/fb2d36f1/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev