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
ZitatIch 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?
Guten Morgen,
mit nofork ist das FHEM-Attribut gemeint.
Ciao Christian
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?
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
ZitatMit 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.
Hallo,
ich habe mal auf der Installation, auf der das passiert, ein wenig rumgespielt:
- NOFORK=1
- start von der Kommandozeile mit perl fhem.pl fhem.cfg
- Kommando in FHEM wie beschrieben abgesetzt
- Im Logfile erscheint das Directory-Listing
- FHEM-Oberfläche friert ein
- CTRL-C in dem Kommando-Fenster
- FHEM läuft teilweise wieder an
- Meldung im Browserfenster no childprocess
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.