4

C / C ++の画面プロセスにどのように接続できるのか疑問に思っていました。Cプログラムにその画面ウィンドウへの出力をリッスンさせ、その出力に反応させ、そのセッションで実行されているプログラムに入力を送信させたいことがよくあります。 。そのスクリーンセッションにどのように接続するのかわからないので、検索を行うのに非常に役立つものは見つかりませんでした。

4

1 に答える 1

1

あなたが望むことを正確に行うことが含まれます。screenはターミナルデバイス内で実行されることを想定しているため、プログラムで作成する場合は、を使用してターミナル疑似デバイスをセットアップする必要があります。、フォーク、スレーブを開くことでposix_openpt()スレーブデバイスをセットアップします。grantpt()/unlockpt()子プロセスでptyを実行し、それをstdin / out / errに複製し、最後に適切なオプションを使用して画面を実行します。これで、端末エミュレーターであるかのように、コマンドを送信したり、端末通知を受信したりできます。詳細については、manページを確認してpty(7)ください。私はいくつかを逃したと確信しています。

これはすべて大きな混乱であり、あなたがやろうとしていることに対してほぼ間違いなく過度に複雑です。だから:あなたは実際に何をしようとしていますか?

于 2012-06-02T03:41:19.377 に答える