Wie WebServer vom WebServer aus neustarten ?
-
- Developer
- Beiträge: 809
- Registriert: Montag 4. Juli 2005, 18:45
Wie WebServer vom WebServer aus neustarten ?
Für das yWeb gibt es ja die Möglichkeit Updates in den /var-Bereich einzuspielen.
Ich möchte nun über den WebServer ein Skript starten, dass
1) ihn beendet
2) einen neuen WebServer (nhttpd) installiert
3) den Neuen startet
Nun gibt es da natürlich ein Problem:
Das Skript ist ein Tochter-Prozeß des WebServers. Beendet dieses Skript den WebServer, wird es selbst beendet. Dass ist natürlich nicht das was ich brauche?
Jemand eine Idee, wie ich das Skript nicht als Tochter-Prozess starten kann? Oder eine andere Idee?
Gruß
yjogol
Ich möchte nun über den WebServer ein Skript starten, dass
1) ihn beendet
2) einen neuen WebServer (nhttpd) installiert
3) den Neuen startet
Nun gibt es da natürlich ein Problem:
Das Skript ist ein Tochter-Prozeß des WebServers. Beendet dieses Skript den WebServer, wird es selbst beendet. Dass ist natürlich nicht das was ich brauche?
Jemand eine Idee, wie ich das Skript nicht als Tochter-Prozess starten kann? Oder eine andere Idee?
Gruß
yjogol
-
- Developer
- Beiträge: 1475
- Registriert: Dienstag 4. Februar 2003, 22:02
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
Ein Anfang ist folgendes:
Erstelle ein skript, mit folgendem Inhalt:
Dieses startest du dann vom Webbrowser aus.
Ich bekomm dann nach 5sec allerdings die Fehlermeldung "bind: Address already in use". Woran das liegt, weiss ich leider nicht. Aber evtl. weiss jemand mehr dazu
Erstelle ein skript, mit folgendem Inhalt:
Code: Alles auswählen
#! /bin/sh
( killall -9 nhttpd ; sleep 5 ; /bin/nhttpd ) &
Ich bekomm dann nach 5sec allerdings die Fehlermeldung "bind: Address already in use". Woran das liegt, weiss ich leider nicht. Aber evtl. weiss jemand mehr dazu
-
- Developer
- Beiträge: 809
- Registriert: Montag 4. Juli 2005, 18:45
ja, das geht leider nicht ... hatte ich auch schon versucht.Liontamer hat geschrieben:Ein Anfang ist folgendes:
Erstelle ein skript, mit folgendem Inhalt:Dieses startest du dann vom Webbrowser aus.Code: Alles auswählen
#! /bin/sh ( killall -9 nhttpd ; sleep 5 ; /bin/nhttpd ) &
Ich bekomm dann nach 5sec allerdings die Fehlermeldung "bind: Address already in use". Woran das liegt, weiss ich leider nicht. Aber evtl. weiss jemand mehr dazu
@barf: probier ich morgen mal
Danke
yjogol
-
- Developer
- Beiträge: 809
- Registriert: Montag 4. Juli 2005, 18:45
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Developer
- Beiträge: 809
- Registriert: Montag 4. Juli 2005, 18:45
Also ich habe ein paar Stunden darauf verbracht; das Problem sind also nicht die Prozesse, das geht mit beiden Lösungen.Liontamer hat geschrieben:Hast du denn mittlerweile eine Lösung gefunden?
Es wird ein Socket erstellt und mit bind gebunden.
Ich habe keinen un-bind Befehl gefunden. Es gibt zu dieser Problematik extrem viele Anfrage im Internet. un-bind wird vom Betriebssystem nach einer Timeoutzeit durchgeführt, erst dann kann ein erneuter bind auf IP und Port durchgeführt werden.
So, wie es aussieht, muß ein Befehl implementiert werden, der die Verbindung zum Browser sauber beendet, dann der WebServer beendert werden und "irgendwie" muß er dann neustarten.
Noch magelt es an einer einfachen Lösung.
Gruß
yjogol
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
wie wäre es den thttpd mit folgendem skript initial zu starten:
Pfade natürlich anpassen
Dann brauchst Du Ihn nur zu killen und er wird wieder neu gestartet - automatisch. Diese Art Watchdog wird auf der thttpd HP vorgeschlagen http://www.acme.com/software/thttpd/notes.html
Code: Alles auswählen
#!/bin/sh
while true ; do
/usr/local/sbin/thttpd -D -C /usr/local/www/thttpd_config
sleep 10
done
Dann brauchst Du Ihn nur zu killen und er wird wieder neu gestartet - automatisch. Diese Art Watchdog wird auf der thttpd HP vorgeschlagen http://www.acme.com/software/thttpd/notes.html
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
-
- Developer
- Beiträge: 809
- Registriert: Montag 4. Juli 2005, 18:45
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
naja - ist doch nur formsache ob jetzt der thttpd gestartet wird oder ein script was ihn startet. Kann ja so aussehen: /etc/start_thttpd
wenn Du das kill -me hinkriegst sollte das so funzen. Gleichzeitig ist es ein safety net für den normaleinsatz
wenn Du das kill -me hinkriegst sollte das so funzen. Gleichzeitig ist es ein safety net für den normaleinsatz
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
-
- Developer
- Beiträge: 809
- Registriert: Montag 4. Juli 2005, 18:45
Jau, da kann ich mal einen Vorschlag machen.Tommy hat geschrieben:naja - ist doch nur formsache ob jetzt der thttpd gestartet wird oder ein script was ihn startet. Kann ja so aussehen: /etc/start_thttpd
wenn Du das kill -me hinkriegst sollte das so funzen. Gleichzeitig ist es ein safety net für den normaleinsatz
Du meinst einen kill und kill -HUP nehme ich an ...
Das ist etwas Fummelei mit traps ...
aber das Hauptproblem ist es, ein solches Skript auszurollen.
Gruß
yjogol
Zuletzt geändert von yjogol am Freitag 28. April 2006, 11:48, insgesamt 1-mal geändert.
FAQ zu YWeb unter http://www.yjogol.de
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
bei newmake hast Du gute Karten - wenns sinvoll ist baut's Barf mit Sicherheit ein.
Bei head müßten vermutl. die proparitären "Montagescripts" angepaßt werden.
Wie Du Deinen deamon am besten um die Ecke bringst mußt Du schon selbst probieren - Da kenne ich mich nich aus
Bei head müßten vermutl. die proparitären "Montagescripts" angepaßt werden.
Wie Du Deinen deamon am besten um die Ecke bringst mußt Du schon selbst probieren - Da kenne ich mich nich aus
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?