[Gelöst] fhem auf Ubuntu startete nach einem "shutdown" automatisch neu

Begonnen von maxritti, 23 August 2014, 08:39:56

Vorheriges Thema - Nächstes Thema

maxritti

Guten Morgen zusammen,


gerade bin ich ein wenig verwirrt.
Und zwar habe ich fehm auf einem neuen Ubuntu Server installiert.
Dann mittels folgendem Startscript und der fhem.cfg gestartet.

#!/bin/sh
# description: Start or stop the fhem server
# Added by Alex Peuchert

### BEGIN INIT INFO
# Provides:             fhem.pl
# Required-Start:       $local_fs $remote_fs mysql
# Required-Stop:        $local_fs $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    FHEM server
### END INIT INFO

set -e
cd /opt/fhem
port=7072

case "$1" in
'start')
        echo "Starting fhem..."
#        perl fhem.pl configDB
        perl fhem.pl fhem.cfg
        RETVAL=$?
        ;;
'stop')
        echo "Stopping fhem..."
        perl fhem.pl $port "shutdown"
        RETVAL=$?
        ;;
'status')
        cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "fhem is not running"
        else
                echo "fhem is running"
        fi
        ;;
*)
        echo "Usage: $0 { start | stop | status }"
        RETVAL=1
        ;;
esac
exit $RETVAL


attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB,WEBphone,WEBtablet has no basicAuth attribute.\
telnetPort has no password/globalpassword attribute.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global sendStatistics onUpdate
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global userattr devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB reverseLogs 1

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create


Dann noch brav ein update gemacht und fhem neu gestartet.
Klappt soweit. Wenn ich nun allerdings via fhemweb oder aber telnet ein "shutdown" eingebe, wird fhem beendet und automatisch wieder gestartet.

Ein neues Feature von fhem wird das wohl nicht sein, da meine produktive Umgebung auf einem SLES Server das nicht macht.


Hat dazu jemand eine Idee, warum fhem nach einem shutdown direkt wieder startet?

maxritti

Ich habe noch mal ein wenig gestöbert was das Problem hier angeht.
Allerdings bin ich nicht wirklich weiter gekommen.
Das was ich geschrieben hatte war nicht ganz korrekt, wie sich jetzt rausstellte.

Ich hatte zwar wie ich es bisher kannte das Start/Stop Skript nach /etc/init.d/ kopiert, aber darüber wird FHEM auf dem Ubuntu gar nicht gestartet.
Von dem Installationspacket wird unter Ubuntu die Konfig hier nach /etc/init/ geschrieben


# FHEM Service

description     "fhem server"
author          "Rudolf Koenig <r.koenig@koeniglich.de>"

start on (net-device-up
          and local-filesystems
          and runlevel [2345])
stop on runlevel [016]

expect fork
respawn

chdir /opt/fhem
exec perl fhem.pl fhem.cfg



Offensichtlich sorgt diese dafür, dass fhem nach einem shutdown wieder neu gestartet wird.
Denn auch nach Löschung meines Skripts aus /etc/init.d/fhem startet fhem.

Testweise habe ich dann die Datei aus dem /etc/init/ gelöscht und FHEM mit dem mir bekannten Skript aus /etc/init.d/ gestartet.
Danach klappt auch ein "shutdown" aus Fhem web oder telnet wieder und fhem startet nicht automatisch neu.

Zumindest scheint es reproduzierbar zu sein.

Gerade mal eine VM mit Ubuntu 13.10 Server installiert, dann FHEM aus dem Packet installiert und schon kann ich FHEM nicht beenden.
Es macht zwar einen shutdown, aber auch direkt wieder die Initialisierung.


2014-08-25_13:17:25 global SHUTDOWN
2014.08.25 13:17:25 0: Server shutdown
2014.08.25 13:17:26 1: Including fhem.cfg
2014.08.25 13:17:26 1: Including ./log/fhem.save
2014-08-25_13:17:26 global INITIALIZED
2014.08.25 13:17:26 1: usb create starting
2014.08.25 13:17:26 1: usb create end
2014.08.25 13:17:26 0: Server started with 9 defined entities (version $Id: fhem.pl 6425 2014-08-19 20:55:00Z rudolfkoenig $, os linux, user fhem, pid 4081)


betateilchen

Das respawn steht doch ausdrücklich in dem von Dir zitierten Skript, das fhem als Service startet, fhem verhält sich also exakt so, wie es das Startskript vorschreibt - und zwar solange, bis Du den Server komplett neustartest.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

maxritti

Okay. Da hast Du wohl recht.

Wusste damit halt nicht wirklich viel anzufangen.

Macht das dann eventuell Sinn, das als Hinweis in die Command-ref aufzunehmen?
Da steht ja ausdrücklich drin, dass ein "shutdown" fhem runterfährt und erst mit "restart" es neu startet.

Geht man nun strikt danach läuft es ja nicht so.

betateilchen

Bei mir wurde noch bei keiner Installation das von Dir zitierte Startskript installiert. Insofern ist die commandref-Beschreibung durchaus richtig. Warum auf Ubuntu bei Dir plötzlich das Service-Skript auftaucht? Keine Ahnung.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

maxritti

Vielleicht liest Rudolf hier noch mit.
Er sollte da ja was zu sagen können.

Schliesslich steht sein Name in dem Skript.

betateilchen

Das Skript selbst ist in ./contrib/init-scripts ja immer vorhanden.
Welches fhem-Paket hattest Du denn installiert?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

maxritti


satprofi

Hallo.
Habe auch gerade fhem auf ubunturechner installiert und stehe vor selbigen problem. fhem lässt sich nicht stoppen.auch bringt mir ein update nichts. meine cfg vom anderen server wird nur teilweise eingelesen, DOIF sehe ich am ubunturechner gar nicht.

whats wrong?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

maxritti

Das mit dem nicht zu beenden FHEM habe ich so gelöst, indem ich in der Datei fhem.conf unter /etc/init/ einfach den Eintrag respawn wie betateilchen es geschrieben hatte, entfernt habe.
Danach beendet sich FHEM auch mittels "shutdown" aus fhemweb.

Ob das nun ein Bug oder Feature ist, keine Ahnung.

Rudi scheint den Post hier wohl noch nicht gelesen zu haben  ;)

Bzgl der anderen Probleme solltest Du wohl lieber separate Post eröffnen.
Das ist hier ja eher etwas Off-Topic.

satprofi

Hallo.
Ja, Tipp habe ich schon aus anderen Foren erhalten, fhem dürfte da probs auf Ubuntu haben. Mit löschen der fhem.conf in /etc/init und anlegen des fhem startscriptes in /etc/init.d klappt es jetzt. zusätzlich muss man das verzeichns /opt dem user fhem zuweisen. jetzt rennt alles wie es soll. nur Rss dürfte unbekannt sein bei fhem-5.5, das wird nicht initialisiert.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

betateilchen

Zitat von: satprofi am 02 September 2014, 22:00:01
nur Rss dürfte unbekannt sein bei fhem-5.5, das wird nicht initialisiert.

was meinst Du damit?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

satprofi

cannot load module RSS.

weder mit define noch mit vorhandener fhem.cfg
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

betateilchen

Dann solltest Du einfach mal ins Logfile schauen, warum das nicht funktioniert, da sollten sich Hinweise finden lassen.

Vermutlich fehlen Dir einfach noch ein paar von 02_RSS.pm benötigte perl-Module, die Du in Deinem Ubuntu nachinstallieren musst.

Erste Hinweise bekommst Du auch im Frontend, wenn Du versuchst, ein "reload 02_RSS" durchzuführen, dann sparst Du Dir den Blick ins Logfile.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

satprofi

ich dachte wenn man die letzte version zieht ist alles vorhanden. habe mich an die manuals div. foren gehalten, alles nachinstalliert. bei 5.3 wars einfacher auf dockstar
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram