Deamon steuern

Post Reply
Message
Author
tuxmöger

Deamon steuern

#1 Post by tuxmöger »

Hallo zusammen,

ich habe mir für einen Protokollier-IPC einen Deamon geschrieben, der über eine parallele Schnittstelle Daten einliest und in ein File schreibt. Dieser funktioniert wunderbar.

Jetzt möchte ich den Deamon im Betrieb über eine Website steuern. Beispielsweise soll durch einen Klick im Browser der Deamon die Protokollierung stoppen oder es soll die Schnittstelle gewechselt werden können. Website und CGI sind kein Problem, ich frage mich nur, wie ich dem Deamon diese Daten übergeben kann. Muss ich den Deamon dann jeweils beenden und neu starten damit dieser über ein Config-File, welches via CGI gefüllt wird, die neue Konfiguration übernimmt? Gibt's andere Wege?

Vielen Dank

tuxmöger:-)

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Du sagst was über IPC (Inter-Process-Communication), weißt aber dann nicht, wie du das anwenden sollst? Oder hat IPC noch eine neue Bedeutung, die ich nicht kenne?

Wenn du tatsächlich nur das Configfile neu einlesen lassen willst, kannst du Signale benutzen. SIGUSR1 und SIGUSR2 sind für sowas gedacht und frei, wenn man keine Threads verwendet. Oder du nimmst SIGHUP, das machen auch andere Daemons so. Einfach einen Signalhandler im Daemon einbauen und dann jeweils das Configfile neu lesen.

Am zweiteinfachsten und gleichzeitig am flexibelsten ist es, den Daemon eine Named Pipe irgendwo im Dateisystem abfragen zu lassen. ob dort neue Daten anliegen. Die Weboberfläche schreibt da dann jeweils das nötige Kommando (Bytefolgen) rein. Für beide Seiten sieht die Named Pipe wie eine gewöhnliche Datei aus, man kann also mit normalen Dateioperationen arbeiten. Wichtig: Named Pipes sind wie normale Pipes nur Einbahnstraßen, es gibt nur einen Kanal pro Pipe, man darf also nur einen Reader haben. Wenn du einen Rückkanal brauchst, musst du dafür eine zweite Pipe aufmachen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

tuxmöger

#3 Post by tuxmöger »

Vielen Dank für Deine hilfreiche Antwort! Ich werde mal Versuche mit einer Pipe machen.

Wenn ich IPC höre, dann denke ich zuerst an an IndustriePC:-) Du scheinbar an Interprozess-Kommunikation. Hängt warscheinlich vom Betätigungsfeld ab.

Gruss


tuxmöger

Post Reply