- PR -

プロセスからのシェルコマンド実行・実行結果取得

1
投稿者投稿内容
sundy
会議室デビュー日: 2005/12/08
投稿数: 1
投稿日時: 2005-12-08 00:46
「プロセスからのシェルコマンド実行・実行結果取得」する方法について質問があります。

Linux上で起動しているプロセスからsystem()のようなシステムコールを使い
シェルコマンドを実行し、その実行結果をプロセスで取得するということは
可能でしょうか?

例えば、
  1、プロセスから"pwd"を実行。
  2、その出力結果をプロセスで受け取りファイルオープンなどの処理に使用。
ということを行いたいです。

実現方法がありましたらご教授いただきたいです。
よろしくお願いします。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2005-12-08 03:05
pwd の出力相当のものが欲しいというのであれば、そんな回りくどいことをしなくても、
getcwd()関数一発で取得できます。

「他のコマンドを実行して、その標準出力を取得する」ということであれば、
将にそのためのライブラリ関数 popen() があります。

より詳細な制御を行う必要がある場合は、pipe(), fork(), dup2(), exec() といった
システムコールを組み合わせて、popen()と同様の処理を実現します。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2005-12-08 15:33
パイプは?
1

スキルアップ/キャリアアップ(JOB@IT)