0

C++ でチャット サーバーを開発しています。プログラムはビルドされ、ターミナルから実行されます。ターミナルで実行しているので、「 」を使用してこのターミナルに通常どおり書き込むことができますprintf。この端末に書き込まれる情報の一部は、新しい着信接続、発信接続などのアラートです。

次に、管理者がコマンドを入力してチャット サーバーの変数の値を確認できるように、キーボード入力を取得する必要があります。新しいスレッドを作成し、新しい端末をそれに接続するつもりです。system("gnome-terminal") を呼び出すことをお勧めしますが、sleep()この gnome-terminal にリダイレクトされるすべてのコンテンツが bash コマンドと見なされるため、これは適切な選択ではないようです。systemそして、 「 」コマンドで開いたターミナルをスレッドにアタッチする方法がわかりません。

作成されたスレッドに端末を接続する簡単な方法はありますか?

4

2 に答える 2

2

Linuxでパイプを使用する方法については、これを読んでください。

http://linuxprograms.wordpress.com/tag/pipes/

于 2012-10-05T10:10:27.543 に答える
0

この質問で部分的に回答されているように:スクリプトの実行後に gnome-terminal を閉じるのを避けますか?

次のような良いオプションがあります。

(1) メイン端子は通常の入出力に使用します。

(2) 「tail」を呼び出す前にログファイル (log.file) を作成する

(3) ログの内容 (ログファイル) を表示するには、「tail」コマンドを使用します。

//c++ code
system("gnome-terminal -e \"bash -c 'tail -f log.file'\"");

(4) コンテンツを「log.file」に追加して、「tail」に表示するように指示します。

于 2012-10-08T06:36:08.013 に答える