PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programm an diesem Gerät bereits gestartet oder nicht?



Hans-Georg Normann
13-10-2002, 20:00
Ich habe ein Pythonprogramm mit einer HTML - Hilfe geschrieben. Dabei habe ich die Funktionen von Mozilla 1.1 mal so richtig schön ausgereizt. Die Idee: Python greift auf eine bereits bestehnde Instanz des Browser zu, um seine Seite Loszuwerden. Ist kein Browser aktiv, dann wird Mozilla neu gestartet. Geht eigentlich super.

Aber jetzt hat mein DAU sich gleich von mehreren Stellen aus auf meienm Server eingeloggt. Wie kann ich erkennen, ob Mozilla im gleichen "Raum", auf dem gleichen XServer, etc. wie Python läuft? man ps hat mich auch nicht weitergebracht.

Wer mal wissen will was ich da verhackstückt habe: http://python.normann-live.de Das Proggi heißt NorPyTar und setzt QT vorraus. (Ich arbeite mit 2.3.1, ob's mit anderen Versionen läuft weiß ich nicht.) Vielleicht erbarmt sich ja mal jemand und sagt mir Bescheid.

Hans

anda_skoa
13-10-2002, 20:22
Um sicher zu gehen, dass ich das Problem verstanden habe:

Der User loggt von zwei Maschinen aus ein und startet auf einem Mozilla und auf dem anderen dein Script und die Hilfe erscheint dann auf dem anderen Rechner?

Ciao,
_

Hans-Georg Normann
13-10-2002, 20:48
Nee, so nicht. Der loggt sich ein, geht surfen, dann ruft der Chef, geht zum Kollegen, logt sich da auch noch mal ein und startet das Programm. Nun benötigt er die Programmhilfe, welche über Browser ausgegeben wird. Wäre ja blöd, wenn der erst zu seinem ersten Arbeitsplatz rennen müßte, um die Hilfe einzusehen.

Ich cersuche es mal anders. Normal hat mein XServer :0. Bei einem zweiten Start kann ich das dann auf :1 setzen usw. Zwei Server mit der gleichen Nummer geht ja glaube ich nicht. Wenn ich das ganze als zwei Namensräume betrachte, interessiert mich nur der Namensraum des aktiven Python Programmes.

Hans

anda_skoa
13-10-2002, 21:05
Original geschrieben von Hans-Georg Normann
Nee, so nicht. Der loggt sich ein, geht surfen, dann ruft der Chef, geht zum Kollegen, logt sich da auch noch mal ein und startet das Programm. Nun benötigt er die Programmhilfe, welche über Browser ausgegeben wird. Wäre ja blöd, wenn der erst zu seinem ersten Arbeitsplatz rennen müßte, um die Hilfe einzusehen.

Das hab ich doch geschrieben :)

Hmm, mir fällt da gerade keine Lösung ein.

Kannst du zwei laufende Mozilla unterscheiden, zb anhand er PID?
Also, wenn zwei laufen, kannst du betimmen, welcher die Hile anzeigt?

Ciao,
_

Hans-Georg Normann
14-10-2002, 22:32
nee!

Script und Hilfe sollen natürlich auf einem Bildschirm ausgegeben werden. Das da noch ein zweiter Arbeitsplatz des selben Userers aktiv ist, ist nämlich das Problem. Der stört!

Das müßte doch so in den Bereich Server / Client Programmierung fallen. Was passiert wenn mehere Server aktiv sind? Woher weis der Client (mein Script), welches "sein" Server ist?

Da ich ja QT einsetze, muß der XServer ja wohl laufen. Ist die Aussage richtig, dass ein XServer immer genau einem Arbeitsplatz zugeordnet ist? Dann wäre nämlich die nächste Frage, was X in Richtung Prozessverwaltung zu bieten hat.

Hans

Hans-Georg Normann
15-10-2002, 22:39
Ich hab's.

Man suche sich die entsprechenden Prozesse heraus. Wenn dann der Wert von DISPLAY in /proc/PROZESSNUMMER/environ gleich $DISPLAY ist, dann laufen beide Prozesse im gleichen Display. ->KISS -> keep it stupid simple!

So nebenbei würde mich interessieren, ob das bei Windoof Terminalserver auch so einfach ist :-)