0

C アプリケーション内から Linux アプリケーションを起動し、その起動したプログラムにデータを読み込んで入力できるかどうか疑問に思っています。これを行うには、どの機能を検討する必要がありますか。アプリケーションを C で開いてpopen()詳細を取得できることはわかっていますが、このアプリケーションに長時間入出力できるようにしたいと考えています (対話したいアプリケーションは詳細を尋ね、はい/いいえの回答を求めます)。そのタスクが完了するまで)。IRC のようなチャット プラットフォームに接続するフロント エンド アプリケーションを作成し、IRC または使用する他のプロトコルからリモート アプリケーションを制御できるようにしたいと考えています。可能であれば、Perl または C で記述された例を希望します。詳細や、使用できる他の同様のプロジェクトへのリンクをありがとうございます。

4

1 に答える 1

0

IPC::Open2で説明されているように使用する Perl ソリューションをお勧めBidirectional Communication with Another Processperldoc perlipcます。あらすじはこんな感じ

use IPC::Open2;

my($chld_out, $chld_in);
my $pid = open2($chld_out, $chld_in, 'some cmd and args');

その後、あなたはすることができます

print $child_in "Input to child process\n";
my $response = <$chld_out>;
于 2013-02-01T05:01:17.187 に答える