FHEM Forum

FHEM - Hardware => Server - Mac => Thema gestartet von: knueppler am 27 Juli 2021, 20:22:23

Titel: LaunchDaemon, nofork und System-Calls via system
Beitrag von: knueppler am 27 Juli 2021, 20:22:23
Hallo zusammen,

momentan läuft mein FHEM auf einem MacMini M1.
Ich habe es auch via launchd zum Laufen bekommen, allerdings muss ich da nofork=1 setzen.
Sobald ich das tue, kommen Aufrufe a la system("ls") nicht mehr zurück, sprich, Kommando wird noch ausgeführt, aber dann ist Schluss, keine Response mehr. Dies egal, ob ich FHEM via launchd oder via Kommando-Zeile starte.
Lösche ich das Attribut nofork, dann kommen die System-Calls wieder zurück, aber launchd mag nicht mehr, somit muss ich wieder von Kommando-Zeile starten.
Hat einer ne Idee für mich?

Danke, Christian
Titel: Antw:LaunchDaemon, nofork und System-Calls via system
Beitrag von: rudolfkoenig am 27 Juli 2021, 22:51:06
Zitat
Ich habe es auch via launchd zum Laufen bekommen, allerdings muss ich da nofork=1 setzen.
Ist damit ein launchd Attribut oder das FHEM Attribut (https://fhem.de/commandref_modular.html#nofork) gemeint?
Titel: Antw:LaunchDaemon, nofork und System-Calls via system
Beitrag von: knueppler am 28 Juli 2021, 07:39:45
Guten Morgen,

mit nofork ist das FHEM-Attribut gemeint.

Ciao Christian
Titel: Antw:LaunchDaemon, nofork und System-Calls via system
Beitrag von: rudolfkoenig am 28 Juli 2021, 10:28:33
Dieses Attribut verhindert, dass FHEM beim Starten sich als Daemon ins Hintergrund verabschiedet.
Es hat keine Auswirkungen bei weiteren Fork-Operationen, und wenn doch, dann indirekt.
Ich vermute/hoffe, dass die Ursache in FHEM-Log protokolliert ist.
Wird ein native-perl verwendet?
Titel: Antw:LaunchDaemon, nofork und System-Calls via system
Beitrag von: knueppler am 28 Juli 2021, 13:15:10
Hi,

ja, native, welches von Apple mit ausgeliefert wird.
Teststellung auf nem MacBookPro M1 zeigen ein anderes Verhalten.
Mit NOFORK=1 kommt system mit -1 zurück, mit NOFORK=0 mit 0.
Im Log der anderen Installation sehe ich leider nix, wenn FHEM nach dem system-Call nicht mehr zurück kommt.
Ich gucke weiter.

Ciao Christian
Titel: Antw:LaunchDaemon, nofork und System-Calls via system
Beitrag von: rudolfkoenig am 28 Juli 2021, 13:48:13
Zitat
Mit NOFORK=1 kommt system mit -1 zurück, mit NOFORK=0 mit 0.
Ich wuerde FHEM mit nofork 1 starten, und in der Eingebezeile
{ system("/bin/ls") && $! }
eingeben. Zurueckkommen sollte ERRNO im Klartext, was wiederum weiterhelfen koennte.
Titel: Antw:LaunchDaemon, nofork und System-Calls via system
Beitrag von: knueppler am 29 Juli 2021, 11:51:31
Hallo,

ich habe mal auf der Installation, auf der das passiert, ein wenig rumgespielt:
Momentan vermute ich, dass es mit irgendwelchen Restriktionen in OSX zu tun hat. Allerdings sind an der Stelle beide Maschinen über die Systemsteuerung gleich konfiguriert.