ForumProgrammausgabe uaf login terminal
S. Rehder – Montag, 09. Juni 2008 12:10 Uhr

Moin zusammen,

habe folgendes Problem:

Unter einem Busybox system läuft beim Systemstart ein Prgramm an, welches seine Ausgabe standard mäßig auf den Bidschirm schreibt. Log ich mich nun über ssh auf dem busybox system ein, möchte ich gerne zum debuggen, die Programmausgabe auf mein ssh login terminal holen. Hat jemand nen Denkanstoss oder eine passende Lösung für mich?

Danke
Sven

2 Antworten
Rico Rommel – Montag, 09. Juni 2008 18:16 Uhr

Hallo,

wenn du dich über ssh einlogst, wird in /dev/pts eine Gerätedatei erzeugt, die
deinem Terminal entspricht, also z.B. /dev/pts/0, /dev/pts/1 usw.

Den Namen kannst du, sofern von Busybox unterstützt, mit dem Befehl tty
feststellen.

Du müßtest nun also die Ausgaben deines Programms auf dieses Terminal
umleiten, z.B. testprogramm > /dev/pts/0

Das Problem an der Sache ist, dass du vorher nicht unbedingt weißt, wie das
Terminal heißt. Angenommen, jemand logt sich vor dir ein oder eine alte
Session läuft noch im Hintergrund, dann hast du das Terminal /dev/pts/1,
während die Ausgaben nach /dev/pts/0 umgeleitet werden.

Ich hoffe, es reicht als Denkanstoß oder jemand hat noch eine elegantere
Lösung.

mfg
Rico

S. Rehder – Dienstag, 10. Juni 2008 08:08 Uhr

Danke für den Ansatz. Das mit dem Terminalnamen ist kein Problem. Das eigentliche Problem ist, dass das Programm beim Systemstart automatisch gestartet wird. Ich will nun eigentlich die Ausgabe des >laufenden< Programms, welches standardmäßig auf den Bildschrim schreibt, auf mein Terminal holen. Das Programm darf nicht beendet werden! Bei der obigen Lösung >testprogramm > /dev/pts/< starte ich das Programm ja neu! MfG Sven

Lutz Golke – Dienstag, 10. Juni 2008 10:54 Uhr

Moin,

wenn das Programm in /dev/ttyX läuft, kannst du dessen Ausgaben über “/dev/vcsX” abgreifen (z.B. “cat /dev/vcs1” bei /dev/tty1)

hth,
Lutz