Hallo zusammen,
ich probiere gerade ein Chat-Modul unter Perl zu entwickeln. Hierbei habe ich mir den Ansatz überlegt, dass jeder User einen Prozess startet, der in einer Tabelle nachsieht, wer noch gerade online ist und welche ProzessID´s die anderen haben.
Schreibt nun jemand etwas, soll das geschriebene über eine PIPE an alle anderen übergeben werden, die es dann ausgeben können.
Dazu habe ich jetzt folgende Fragen:
1. In SelfHTML ist zwar beschrieben, wie ich einen (bzw. 2) Pipes aufmache, dann den Prozess forke und somit Eltern- und Kindprozess kommunizieren können. Wie kann ich denn eine Pipe zwischen zwei Prozessen aufmachen, die von unterschiedlichen Usern gestartet wurden?
2. Solange niemand etwas schreibt, sollen die wartenden Prozesse möglichst wenig Prozessorlast verursachen. Wie sieht das mit SLEEP aus? Wieviel Prozessorlast erzeugt ein Prozess, der mit SLEEP schlafen gelegt wurde? Gibt es eine bessere Möglichkeit als SLEEP?
3. Wenn ich einen Prozess mit SLEEP() auf Dauer schlafen lege, kann ich ihn dann mittels KILL(ALARM, PID) von einem anderen Prozess auch wieder aufwecken?
Ich hoffe, die Fragen waren jetzt nicht zu Anfängerhaft, aber ich kenne mich zwar mittlerweile recht gut mit Perl aus, habe aber bisher noch nichts mit Prozesskommunikation auf Unix-Systemen zu tun gehabt.
Danke für Eure Hilfe
Gruß, André