Transparente Durchreiche zur Konsole?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Gast

Beitragvon Gast » Montag 31. Januar 2005, 20:55

Cool, soll noch mal einer sagen, dass mein Vorhaben unmöglich ist ;)

Was, für Vorteile hat subprocess gegenüber os.popen?

Einen Nachteil hat subprocess auf jeden Fall nämlich erst ab der neuesten Version verfügbar. Unter Linux (Gentoo) kann das installieren einer neuen Python Version jegliches (portage) vom ordentlichen Funktionieren abhalten.

Danke, Dominik
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Montag 31. Januar 2005, 21:09

Hast du eigentlich kein Problem, das dein CGI Skript mit dem User nobody läuft und du somit kaum Rechte hat???

Ich habe noch keine Lösung gefunden: http://python.sandtner.org/viewtopic.php?t=2611
Gast

Beitragvon Gast » Montag 31. Januar 2005, 23:11

Hast du eigentlich kein Problem, das dein CGI Skript mit dem User nobody läuft und du somit kaum Rechte hat???

Noch nicht, da ich erst am experimentieren bin (läuft noch nicht über das server script).

Hat mir jemand ein beispiel, wie man mit den Stdin, stdout und stderr file descriptors communitiert, ich scheine mich gerade mächtig dämlich an zu stellen.

Gruss, Dominik
Slalomsk8er
User
Beiträge: 25
Registriert: Samstag 22. Januar 2005, 19:43

Beitragvon Slalomsk8er » Dienstag 1. Februar 2005, 11:46

jens, könnte das die Lösung sein?

tcsetpgrp( fd, pg)

Set the process group associated with the terminal given by fd (an open file descriptor as returned by open()) to pg. Availability: Unix.


Gruss, Dominik
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 1. Februar 2005, 12:30

Hmm... Keine Ahnung wie das Funktionieren soll...
Slalomsk8er
User
Beiträge: 25
Registriert: Samstag 22. Januar 2005, 19:43

Beitragvon Slalomsk8er » Dienstag 1. Februar 2005, 12:54

Wenn ich das richtig verstehe, kann man damit die Gruppe (Rechte) ändern des Terminals. Da dein Unterprozess in diesem Terminal läuft folglich auch die Rechte des Programms, dass du aufrufst.

Gruss, Dominik
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 1. Februar 2005, 13:11

Anonymous hat geschrieben:Was, für Vorteile hat subprocess gegenüber os.popen?

Vorteil? Es kann alles was os.popen kann, auch was popen2.popen, popen2.popen2, popen2.popen3 können. Aber leider ist es irgendwie.. kompliziert.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 1. Februar 2005, 13:46

Slalomsk8er hat geschrieben:Wenn ich das richtig verstehe, kann man damit die Gruppe (Rechte) ändern des Terminals. Da dein Unterprozess in diesem Terminal läuft folglich auch die Rechte des Programms, dass du aufrufst.


Das ist ja das Problem, weswegen su nicht klappt:
su: must be run from a terminal

s. http://python.sandtner.org/viewtopic.php?p=14778#14778

Somit läuft der Unterprozess nicht im Terminal und ich denke das man dann mit tcsetpgrp() nicht viele machen kann...
BlackJack

Beitragvon BlackJack » Dienstag 1. Februar 2005, 16:21

Leonidas hat geschrieben:
Anonymous hat geschrieben:Was, für Vorteile hat subprocess gegenüber os.popen?

Vorteil? Es kann alles was os.popen kann, auch was popen2.popen, popen2.popen2, popen2.popen3 können. Aber leider ist es irgendwie.. kompliziert.


Es funktioniert auf die gleiche (komplizierte) Weise plattformübergreifend, war glaube ich ein Vorteil.
BlackJack

Beitragvon BlackJack » Dienstag 1. Februar 2005, 16:25

Slalomsk8er hat geschrieben:Wenn ich das richtig verstehe, kann man damit die Gruppe (Rechte) ändern des Terminals. Da dein Unterprozess in diesem Terminal läuft folglich auch die Rechte des Programms, dass du aufrufst.


Das hat mit der Gruppe aus den Zugriffsrechten nichts zu tun. Es geht dabei um Prozessgruppen. Wenn Du Prozesse asynchron von einem Programm aus startest und dieses dann killst, dann werden auch die Kindprozesse beendet, wenn sie in der gleichen Prozessgruppe sind. Wenn sie in einer anderen/eigenen Prozessgruppe sind, dann können die Kindprozesse trotzdem weiterlaufen.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: Transparente Durchreiche zur Konsole?

Beitragvon jens » Freitag 25. Februar 2005, 13:56

Slalomsk8er hat geschrieben:Das Ganze sollte eine CGI-HTML-Seite werden mit einem Konsolenfenster und soll sich identisch verhalten, wie die Konsole im Hintergrund (auch ncurses soll 1 zu 1 rüberkommen).


Wie sieht es denn bei dir aus? Stand der Dinge meine ich... Kann man es schon sehen :D
Slalomsk8er
User
Beiträge: 25
Registriert: Samstag 22. Januar 2005, 19:43

Beitragvon Slalomsk8er » Freitag 25. Februar 2005, 14:41

Nö leider nicht.

Ich habe mich mal wider einerm anderen Projekt zugewendet Bunnyfight (ich bin der main 3D Artist).

Pexpect experimente waren das Letzte, was ich gemacht hatte (bin mir nicht sicher ob das das Richtige ist). Ach ja, einen Hilferuf an die Pythonnewsgroup hatte ich auch gestartet, jedoch keine Hilfreichen Antworten erhalten.

Gruss, Dominik
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 25. Februar 2005, 15:07

Hab mir schon geadcht, dass es scheitert. Ist halt ein sehr komplexes Thema.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Slalomsk8er
User
Beiträge: 25
Registriert: Samstag 22. Januar 2005, 19:43

Beitragvon Slalomsk8er » Freitag 25. Februar 2005, 16:14

Gescheitert ist da noch gar nichts.

Das ist so meine Art Dinge zu Erledigen.

Multitasking hält den Frustfaktor gering, da ich dann halt an einem anderen Projekt weiter arbeite und so nach ca. einer Woche weiter knoble (falls ich überhaupt solange die Finger von lassen kann).

Das GMC-Projekt ist schon ein Jahr alt und falls keiner das gleiche vor mir baut, werde ich weiter arbeiten.

Gruss, Dominik
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 25. Februar 2005, 17:45

Na dann ist ja cool. Halt uns doch auf dem laufenden :)
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder