[PATCH 1/5] nodewatcher: split into nodewatcher.d scripts for individual task

mail at adrianschmutzler.de mail at adrianschmutzler.de
So Apr 19 17:57:25 CEST 2020


Hallo,

> > Der Timeout funktioniert deshalb nicht, weil wir hinterher die Ausgabe abfangen mit $(). Sonst würde er funktionieren.
> Doch, der funktioniert. 
> Einen kleinen Bug hatte er damals noch: Die Ausgabe der sleep,kill-Subshell wurde nicht nach /dev/null geleitet. 
> Daher werden die Ausgabedeskriptoren der Elternshell vererbt, womit $() erst fertig wird, wenn alle Prozesse fertig sind (also auch sleep, kill, ..).
> Aber ich hab das mal in der reparierten Form getestet: Hilft leider nichts, weil es im OpenWrt scheinbar keinen einfachen Weg gibt, Prozess und alle Kindprozesse (die Shell startet ja jede Menge davon) zu killen.
> Beispielsweise kann ein langes sleep in einem Subskript daher dennoch das ganze nodewatcher Konstrukt lange blockieren, weil nur der Shellprozess gekillt wird, nicht aber das Sleep. Und damit ergibt sich wieder (ungefähr) das gleiche Problem wie oben.

So oder so ist mir das zu kompliziert, und ich sehe eigentlich keinen Benefit (zumindest, wenn man ohnehin exit 1 macht). Da wäre es in meinen Augen sinnvoller, gleich beim nodewatcher executable selbst anzugreifen, und die dann nach einer festgelegten Zeit zu killen, anstatt das für die Subskripte zu machen, was viel komplizierter ist. Bei der executable bräuchte man sich dann auch nicht um irgendwelche Ausgaben zu scheren.
Wegen mir müsste man dieses Thema aber gar nicht anfassen.

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/20200419/a2a6001e/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev