Einfachste Weg, um einen PTY-in Linux-C++

Bin ich die Programmierung etwas, das eine Schnittstelle zu Bash. Zuerst dachte ich, ich könnte einfach verwenden, popen oder QProcess. ( Ich bin mit QT-C++ ) Sie arbeiten gut, aber ich kann nicht Sie zu laufen Bash in eine tty-Schnittstelle, die Sie benötigen, wenn Sie gehen, um so etwas wie sudo, das erfordert ein tty/pty zu akzeptieren, ein Passwort.

Fand ich einige Dinge wie forkpty(), openpty(), etc. in der GNU-Standard-C-Bibliotheken, aber konnte nicht herausfinden, wie Sie zu benutzen oder Sie finden keine guten Beispiele, selbst nach dem Lesen Ihre entsprechenden manpages. Buchstäblich, dies alles Teil von meinem Programm muss in der Lage sein zu Lesen/schreiben, die von einem tty laufen /bin/bash. Ist es wirklich so einfach, oder gibt es mehr zu ihm als das Auge?

Wenn ja, kann jemand bitte ein prägnantes Beispiel, wie dies zu tun?
Vielen Dank im Voraus!
EDIT: Hier die header-Datei, die ich mir ausgedacht habe!

  • Sie zeigen nicht, wie Sie aufrufen Bash, aber Sie haben versucht bash -li?
  • Als eine Angelegenheit von der Tat, habe ich. Dieser Befehl ruft die bash als interaktive login-shell, aber immer noch nicht führen Sie es in ein Fernschreiber. ;_; Ich muss einige zusätzlichen code schreiben für Sie zu tun.
  • möglich, Duplikat der Wie kann der *nix-pseudo-terminals arbeiten ? Was ist der master/slave-Kanal?
InformationsquelleAutor | 2010-01-28
Schreibe einen Kommentar