Status des Webservers

Willkommen Foren LogoControl Status des Webservers

Verschlagwortet: , , , ,

7 Beiträge anzeigen - 1 bis 7 (von insgesamt 7)
  • Autor
    Beiträge
  • #2542
    Logomaster74
    Teilnehmer

    Hallo zusammen,

    vorab: Ein großes Kompliment an den Entwickler, der Webservice gefällt mir sehr gut!

    Nun zu meinem eigentlichen Anliegen:
    Ich würde gerne den Status des Logowebservers abrufen. Ist das überhaupt möglich? Da der Webservice direkt in der .NET Anwendung läuft, und soweit ich weiß keine Parameter akzeptiert, habe ich nicht rausfinden können, ob das geht. Gestartet wird er ja über „mono –server LogoControl.exe“. Es wäre cool, wenn man beispielsweise mit Hilfe von „LogoControl.exe –status“ den Status zurückkriegt, z. B. wie bei Windows Services „RUNNING“, „STOPPED“ oder „START PENDING“, …

    Falls es die Frage schon mal gab bzw. das dokumentiert wurde und ich es übersehen habe: Sorry!

    Danke im Voraus und Grüße

    #2543
    admin
    Administrator

    Hi,

    mit „Logowebserver“ meinst du wahrscheinlich den von LogoControl und nicht etwa den in der Logo 0ba8 integrierten Webserver, oder? Ob LogoControl läuft, lässt sich bestimmt mit etwas Shell-KungFu (ps, grep etc.) auf der Kommandozeile ermitteln. Aber bevor wir das „wie“ klären, interessieren mich das „warum“. Was möchtest du denn mit der Information „RUNNING“, „STOPPED“ usw. überhaupt anfangen? Hast du Probleme, dass LogoControl irgendwann nicht mehr läuft?

    #2544
    Logomaster74
    Teilnehmer

    Hi,

    ja, ich meine schon den von LogoControl und nein, ich würde gerne zwei LEDs an den Raspberry Pi schalten. Rot = Webserver aus, Grün = Webserver an. Das Projekt wird für Anschauungszwecke verwendet und deshalb wäre es ganz nice, wenn es da schon etwas gäbe.

    Danke trotzdem.

    Grüße

    #2545
    admin
    Administrator

    Ok, verstanden. Wie gesagt: um festzustellen ob ein Prozess läuft reicht ein einfaches Shell-Script, z.B. so in der Art:

    #!/bin/bash
    
    if pgrep -f "LogoControl.exe" > /dev/null
    then
        echo "RUNNING"
    else
        echo "STOPPED"
    fi
    

    Statt der Textausgabe müsstest du nur deine LEDs ansteuern und das Skript zyklisch alle x Sekunden aufrufen.

    #2547
    manfred_ruetzler
    Teilnehmer

    Hallo,

    dass wüde mich auch interresieren.
    Könntw man dass in die Netio App auch intgrieren, wenn ja wie bitte.

    danke im Vorraus.

    liebe Grüße

    #2550
    Logomaster74
    Teilnehmer

    Hi nochmal,

    wie kann man den den Serverstatus in C abrufen? …Denn aktuell steurere ich die LEDs per C-Script, ich bekomm es aber nicht hin von einem Shellscript einen Rückgabewert an mein C-Script zu schicken. Oder kann man vielleicht auch irgendwo die PID von LogoControl abfragen, dann könnte ich den Prozes abfragen (existiert z.B. ein Eintrag zur PID in /var/run ?). Vielen Dank im Voraus!

    Mit freundlichen Grüßen

    #2552
    admin
    Administrator

    Das mit der PID beim Start in eine Datei schreiben und später immer wieder zu prüfen könnte in seltenen Fällen dazu führen, dass LogoControl nicht läuft, aber bereits ein anderer Prozess die PID wiederverwendet und dein Programm trotzdem die grüne Lampe anschaltet. Ist zwar ziemlich unwahrscheinlich aber möglich. Daher würde ich lieber den pgrep immer wieder ausführen um sicherzugehen, dass auch wirklich der richtige Prozess geprüft wird.

    Wie du Shell-Kommandos mit C absetzt kann ich dir nicht helfen, aber hier sollte ein guter Start-Punkt sein:
    http://stackoverflow.com/questions/646241/c-run-a-system-command-and-get-output

7 Beiträge anzeigen - 1 bis 7 (von insgesamt 7)
  • Du musst angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.