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

Fabian Bläse fabian at blaese.de
So Apr 19 18:18:32 CEST 2020


On 19.04.20 17:57, mail at adrianschmutzler.de wrote:
> 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.
Womit man leider auf das gleiche Problem stößt. Der hängende Kindprozess (und all dessen Kinder) wird dann dennoch hängen und gammelt dann weiterhin auf dem System rum.
Hat man auch nichts gewonnen.

Gruß
Fabian

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20200419/1114476a/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev