3

ユーザーが私の小さなデバイスに接続して、システムの現在の標準入出力を「引き継ぐ」ことができる単純なリモート管理プログラムを作成しようとしています。例えば:

システムは console=serial port で起動します --> クライアントが接続し、入力/出力をソケットにリダイレクトします

Linuxのpty機能を使用して、ネットワーク部分へのリダイレクトをすでに完了しています(多くのmanページを読むことで。男、今までこれらのmanページを高く評価したことはありません!:D)。

openpty() -> grantpt() -> unlockpt() --> クライアントが接続し、login_tty() を実行

私のプログラムは、マスター FD とソケットの監視を処理します。ただし、大きな問題があります。出力をリダイレクトする方法がわかりません。私は次のことを試しました:

o シリアルポートファイルを開くハードコード

o login_tty() で開かれたシリアルポートファイルを使用する

しかし、それは機能していないようです (プロセスグループに関する何かと、最初の login_tty() を実行した後のプロセスグループのリーダーであること)。提案やアイデアはありますか?

login_tty() にはある種の「逆」関数がありますか?

4

1 に答える 1

1

これは、「スクリーン」が行うことと非常によく似ています。コードを調べて、そこから模倣することができます: http://www.gnu.org/software/screen/

于 2011-06-28T21:57:50.617 に答える