Am Samstag, 12. Februar 2005 10:58 schrieb Bernd Brodeßer:
Am Samstag, 12. Februar 2005 10:34 schrieb Thomas Janssen:
Am Freitag, 11. Februar 2005 23:23 schrieb Bernd Brodeßer:
Am Freitag, 11. Februar 2005 22:08 schrieb Thomas Janssen:
Am Freitag, 11. Februar 2005 21:49 schrieb Bernd Brodeßer:
Am Freitag, 11. Februar 2005 18:51 schrieb Thomas Janssen:
Was ist Quit? Das Programm kenne ich nicht.
Die Funktion "Quit" - "Beenden" eines Programmes. Ich denke das kennst Du sehr wohl. Da ich kein Programmierer bin, kann ich nicht sagen ob das ein kill auslöst.
Du meinst einfach das Ende eines Programms. Ok, was soll da gemacht werden? Gar nichts wird da gemacht. Natürlich kann es sein, daß da noch irgendwas aufgeräumt ist, aber das ist Teil des Programms. Wenn man ein kill eingibt, dann wird normalerweise ein Programm ab diesen Punkt einfach beendet. Wenn es aber nochwas aufzuräumen gibt, so wäre es ein schlechter Programmierstil, wenn ein normales kill oder auch ein kill -2 usw. nicht abgefangen würde. Üblich ist, daß z.B ein kill -2 was exakt das Gleiche ist wie ein CTRL-C, abgefangen wird, dann noch was aufgeräumt und dann sich das Programm beendet. Aber wenn der Programmierer das nicht programmiert hat, dann passiert natürlich nichts.
Der Programmierer hat leider nichts implementiert. Das bedeutet das Programm macht per kill (egal welche Zahl) die Grätsche und ist beim nächsten Start erstmal 15 Minuten damit beschäftigt die MD5-Summen erneut zu berechnen.
Du meinst Standardeingabe, Standardausgabe und Standardfehlerausgabe? Wenn man es nicht umlenkt, dann auf der Konsole von der man es aus startet. Ganz normales verhalten.
Das meine ich, das normale Verhalten.
Ja, und? Wenn Du das so machst, wie Du beschrieben hast, dann ist aber den Prozessen kein Bildschirm zugeordnet. welcher den auch?
Das habe ich inzwischen auch begriffen, deshalb versuche ich es ja mit dem Befehl weiter unten.
Jedes Programm ist dann ein Konsolenprogramm, denn jeder Prozeß hat eine Standardeingabe, eine Standardausgabe und eine Standardfehlerausgabe. Es kann natürlich sein, daß das Programm ein Teil davon oder alles nicht nutzt.
Ok, Du willst mich nicht verstehen,
Ich verstehe es wirklich nicht.
Doch inzwischen hast Du es weiter unten gelesen ;-)
sondern mir etwas über stdin, stdout und stderr beibringen. Ich möchte aber kein Script basteln das über 40 Zeilen geht und alles mögliche umlenken muss.
Ich verstehe nicht, was Du willst. Du hast geschrieben, Du willst die Ausgabe umlenken. Aber das hat wirklich nichts damit zu tun, wie ein Programm beendet wird. Wenn Du z.B die Ausgabe von mutt umlenkst, dann hast Du noch lange nicht die Eingabe umgelenkt. Und um etwas umzulenken brauchst Du keine 40 Zeilen, das macht man in einer.
Nein, der 1. Ansatz war das Programm in ein laufendes x-terminal zu holen. Das finde ich aber zu umständlich. Ok, wenn der andere Ansatz nicht zu verwirklichen ist dann muss ich wohl stdin, stdout und stderr umlenken. *seufz*
Habe ich geschrieben, Du muß Standardausgabe, -eingabe und auch -fehlerausgabe auf einen Bildschirm umlenken. Bei Unix/Linux verhält sich ein Bildschirm nicht anders als eine Datei. Mit programm > datei schreibst Du die Ausgabe in die Datei datei und mit programm > /dev/tty4 schreibst Du die Ausgabe auf die virtuelle Konsole 4
Hmmm und wie schreibe ich das auf ein laufendes x-terminal ?
Das ganze muss ich doch nicht extra umlenken, wenn das Programm sofort in einer Konsole startet.
Wenn Du eine interaktive shell hast, dann ist schon ein stdin, stdout und stderr definiert, der Prozeß, der durch Aufruf eines Programms ausgelöst wird, übernimmt dieser Prozeß diese Teile. Wenn Du aber nicht von einer shell aus aufrufst, dann kann der Prozeß ja auch dies nicht übernehmen, weil sie nicht definiert sind.
konsole -e "/usr/bin/edonkeyclc" -g
Ist es denn durch diesen Aufruf definiert, oder sollte ich dem "konsole" noch einen Befehl voran stellen ? Es wäre echt cool wenn jemand etwas zum lesen hätte, wo genauso etwas vorkommt. Google bringt zwar ne Menge für Cron und auch für x-terminals aber nichts mit so einem Aufruf.
Moment, ich ging davon aus, daß Du mit Konsole die virtuellen Konsolen meinst, das sind die Teile, die Du mit ALT-CTRL-F1 bis ALT-CTRL-F6 erreichst. Aber im Prinzip ist es egal. Auch bei diesen x-terminals ist es eigentlich genauso.
würde das ja eigentlich machen. Nur kommt da eine aufpoppende Konsole die sich nach 1 Sekunde mit Signal 1 wieder verabschiedet.
Weil die Konsole geschlossen wurde, dann verschickt sie an alle Prozesse wo sie die kontrollierende Konsole ist, das Signal 1. Warum die Konsole geschlossen wurde, weiß ich nicht, ich kenne mich mit den Dinger nicht aus.
Das Warum, wäre im Moment auf jeden Fall das interessanteste.
Also denke ich mir das die letzte Option -g daran schuld ist, da die Konsole sich vermutlich mit der Option angesprochen fühlt. Oder dann die andere Frage, warum verabschiedet sich die Konsole nach 1 Sekunde wieder mit Signal 1 ?
Keine Ahnung. Wenn ich sowas brauche, verwende ich xterm. Ansonsten benutze ich die virtuellen Konsolen.
Du hast mich auf jeden Fall ein Stückchen näher gebracht, danke Bernd. Gruss Thomas