Willkommen › Foren › LogoControl › Status des Webservers
Verschlagwortet: .NET, Assembly, REST, Status, Webservice
- Dieses Thema hat 6 Antworten und 3 Stimmen, und wurde zuletzt aktualisiert vor 8 Jahren, 5 Monaten von admin.
-
AutorBeiträge
-
12. November 2015 um 10:52 #2542Logomaster74Teilnehmer
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
12. November 2015 um 13:15 #2543adminAdministratorHi,
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?
12. November 2015 um 13:44 #2544Logomaster74TeilnehmerHi,
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
12. November 2015 um 17:19 #2545adminAdministratorOk, 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.
13. November 2015 um 21:09 #2547manfred_ruetzlerTeilnehmerHallo,
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
18. November 2015 um 13:43 #2550Logomaster74TeilnehmerHi 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
20. November 2015 um 9:57 #2552adminAdministratorDas 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 -
AutorBeiträge
- Du musst angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.