Hallo *,
Ich verwende Fhem 5.7 mit configDB (MySql auf nem externen Server) auf nem Raspi mit Debian Jessie. Klappt auch soweit alles - allerdings stelle ich fest, das etwas, das ich für "normal" hielt, dies offenbar nicht ist, und ich komme grade nicht weiter.
Rufe ich fhem über das Startscript auf
sudo /etc/init.d/fhem start
dann bekomme ich zwar ein "Starting fhem..." zurück, nicht aber die Shell/den Prompt zur erneuten Eingabe weiterer Befehle. Da das beim direkten Aufruf über
perl fhem.pl configDB
aber auch so war, ist mir dabei nix weiter aufgefallen; irgendwie gings dennoch bisher alles gut.
Nun habe ich heute betateilchens Anleitung zum Starten als service unter systemd ausprobiert (und geflissentlich die Warnung "Dieser Thread ist nicht für Linux-Anfänger gedacht!" ignoriert, ich weiß - https://forum.fhem.de/index.php/topic,54271.msg458702.html), und damit gerät das offenbar zum Problem - der Start kommt nicht zurück, damit killt systemd das Ganze scheinbar wieder, und über den Restart im Unit-File gehts wieder von vorne los.
Auch das nicht tragisch, konnte das wieder rückgängig machen und auf die "alte" Art wieder verwenden, aber vielleicht kann mir wer von euch dennoch nen Schubs in die richtige Richtung geben? Wenn jetzt Daten fehlen oder nötig sind, liefere ich natürlich gerne nach. Meine Suche im Netz nach "init.d" generell brachte eher nur zurück "dann muss das Startscript korrupt sein", aber ich habe es (als root aus dem contrib/init-Skripts-Ordner nach /etc/init.d/fhem kopiert, chmod 744 fhem ausgeführt, mit fhem.3 und fhem.4 ausprobiert) wiederhergestellt, und gleiche Beobachtung.
Danke für sachdienliche Hinweise und ggf. auch Kopfwäsche. :)
Martin
Hallo Martin,
ich habe von Linux eher wenig Ahnung. Ich bin auch der, der einfach "Setup drückt" und dann läuft es... 8)
Aber ist denn FHEM als service installiert/registriert?
Ich kann bei meinem Jessie einfach sudo systemctl status/start/stop fhem eingeben und das funktioniert.
Es sieht mir so aus als ob Dein service fhem nicht ordentlich registriert ist.
Gruß Otto
Salut Otto,
leider verwendet auch der Service meines Wissens das Startup-Script - und benötigt das "Zurückkommen" desselben...
Da müsste wirklich eher ein Linux-Champ mal helfen...
Danke dennoch.
Martin
Also .. auch wenn Du fhem "per hand", also direkt "perl fhem.pl fhem.cfg" eingibst, kommt es nicht wieder?
Habe ich es so richtig verstanden?
Wenn ich das hier (https://wiki.ubuntuusers.de/Dienste/)lese ist das eigentlich leicht verständlich 8)
Und bedeutet: an sich ist nur der Aufruf perl fhem.pl xxx
dafür zuständig zurück zu kehren? D.h. fhem.pl bleibt irgendwo stecken?
Korrekt - wenn ich
perl fhem.pl configDB
aufrufe, kehre ich auch nicht zum prompt zurück (fhem funktioniert aber sauber).
Ich verwandte zum Testen verschiedene /etc/init.d/fhem-Startskipts, die aber alle o. g. Aufruf enthalten; die Anleitung von betateilchen bzgl. der Umstellung auf systemd in der wiki verwendet ebenso den Aufruf dieses Startskipts (und daher im Folgeschritt auch den Aufruf oben).
Schau mal bitte bei dir nach , ob bei dir am global-Device das Attribut nofork gesetzt ist.
Damit hatte ich vor langer Zeit mal ähnliche Probleme, als ich mit meiner Konfiguration von Windows auf Linux gewechselt bin.
Falls es gesetzt ist lösch es mal und versuche dann ob's klappt.
deleteattr global nofork
Benni! Du bist der Champ! :) Dat wars, danke schön!
Jetzt muss ich nur noch mal tiiief in mich gehen, wie das Attribut da hinkam... :)
Zitat von: rubbertail am 07 Juli 2016, 12:13:32
Jetzt muss ich nur noch mal tiiief in mich gehen, wie das Attribut da hinkam... :)
War mal auf einem anderen Betriebssystem (http://www.fhemwiki.de/wiki/Fhem_on_OS_X#Launchd)?
Nun war es doch eher FHEM als Linux ;D
Ich denk, das ist eher PERL als Linux als Fhem... :)
Nö, das Ding war schon immer auf Debian Jessie. Egal - das findet sich.