jens war schneller
Gruss, Dominik
Transparente Durchreiche zur Konsole?
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Noch mal zurück zum Thema:
http://python.sandtner.org/viewtopic.php?t=2611
Hast du evtl. eine Lösung zu meinem Problem:Slalomsk8er hat geschrieben:Wie mache ich eine transparente Durchreiche zur Konsole (bash, cmd, usw.. )?
http://python.sandtner.org/viewtopic.php?t=2611
subprocess -- Subprocess management
Kenn sich jemand damit aus?
Es scheint so, als ob dieses Modul benutzen sollte.
Gruss, Dominik
Kenn sich jemand damit aus?
Es scheint so, als ob dieses Modul benutzen sollte.
Gruss, Dominik
-
- User
- Beiträge: 25
- Registriert: Samstag 22. Januar 2005, 19:43
mawe scheint aber für meine Problemstellung "hilfreicher" zu sein, auch wenn er nicht direkt antwortet http://python.sandtner.org/viewtopic.php?t=1964Ja mei. Dafür bin ich manchmal schneller als mawe, und auch jeden Tag da
Code: Alles auswählen
import os
f = os.popen('gnuplot -persist','w')
print >> f, "plot sin(x)"
Eher nicht, dann gehts erst richtig los, ich liebe ncurses (ein Fluch das teil "n"curse"s" -> Fluch ).
Gruss, Dominik
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Slalomsk8er hat geschrieben:mawe scheint aber für meine Problemstellung "hilfreicher" zu sein, auch wenn er nicht direkt antwortet http://python.sandtner.org/viewtopic.php?t=1964
Slalomsk8er hat geschrieben:Eher nicht, dann gehts erst richtig los, ich liebe ncurses
Ich weiß nicht ob ncurses irgendwelche ASCII Sequenzen produziert, oder wie es arbeitet..
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 25
- Registriert: Samstag 22. Januar 2005, 19:43
Nicht traurig sein (sonst bekomme ich Schuldgefühle, ich hasse meine grosse Klappe).
ASCII sequenzen, du sagst es. Ich habe aber leider keine Ahnung, wie die tab, <- ^ -> und enter handhabt
Gruss, Dominik
ASCII sequenzen, du sagst es. Ich habe aber leider keine Ahnung, wie die tab, <- ^ -> und enter handhabt
Gruss, Dominik
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hmm, vermutlich genauso wie readline.. sorry, das ist wohl keine große Hilfe. Du könntest dir aber mal den Quellcode von "Konsole", oder xterm oder rxvt (Putty, Übershell) angucken um vielleicht eine Ahnung zu bekommen, wie die es gelöst haben.Slalomsk8er hat geschrieben:ASCII sequenzen, du sagst es. Ich habe aber leider keine Ahnung, wie die tab, <- ^ -> und enter handhabt
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
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
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
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
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
Ich habe noch keine Lösung gefunden: http://python.sandtner.org/viewtopic.php?t=2611
Noch nicht, da ich erst am experimentieren bin (läuft noch nicht über das server script).Hast du eigentlich kein Problem, das dein CGI Skript mit dem User nobody läuft und du somit kaum Rechte hat???
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
-
- User
- Beiträge: 25
- Registriert: Samstag 22. Januar 2005, 19:43
jens, könnte das die Lösung sein?
Gruss, Dominiktcsetpgrp( 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.
-
- User
- Beiträge: 25
- Registriert: Samstag 22. Januar 2005, 19:43
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
Gruss, Dominik
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Vorteil? Es kann alles was os.popen kann, auch was popen2.popen, popen2.popen2, popen2.popen3 können. Aber leider ist es irgendwie.. kompliziert.Anonymous hat geschrieben:Was, für Vorteile hat subprocess gegenüber os.popen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Das ist ja das Problem, weswegen su nicht klappt: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.
s. http://python.sandtner.org/viewtopic.php?p=14778#14778su: must be run from a terminal
Somit läuft der Unterprozess nicht im Terminal und ich denke das man dann mit tcsetpgrp() nicht viele machen kann...
Es funktioniert auf die gleiche (komplizierte) Weise plattformübergreifend, war glaube ich ein Vorteil.Leonidas hat geschrieben:Vorteil? Es kann alles was os.popen kann, auch was popen2.popen, popen2.popen2, popen2.popen3 können. Aber leider ist es irgendwie.. kompliziert.Anonymous hat geschrieben:Was, für Vorteile hat subprocess gegenüber os.popen?
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.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.