• ベストアンサー

execl関数上でvmstatを使ったcpu使用率の取得

ソケットを使用したネットワークプログラミングを 作成しているのですが、その中でexecl関数を使用して vmstatを実行して、コンソールに結果を示すまではできるのですが、その結果をファイルに出力させることができません。execl上で第一引数を"vmstat>ファイル名"にしてもファイルは作られません。一体どうしたらよろしいのでしょうか?言葉が足りない部分があるかもしれませんが、どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • alicia-y
  • ベストアンサー率40% (85/208)
回答No.3
参考URL:
http://www.ncad.co.jp/~komata/c-kouza3.htm
paddling
質問者

お礼

本当にありがとうございます。 教えていただいたURLを参考に努力します。

その他の回答 (2)

  • alicia-y
  • ベストアンサー率40% (85/208)
回答No.2

ソケットを使用したネットワークプログラミングの前に 標準出力、標準入力、とかもっと基本的なことを先にしないと。 ちなみに system 関数でやろうと思えばできますけど。 ネットワークプログラミングになりませんよね。 「コンソールに結果を示すまで」とはどこに出ますか? クライアントからサーバに要求してサーバの vmstat の結果をクライアントで受け取る事ができたということでしょうか。

paddling
質問者

お礼

迅速な回答、真にありがとうございます。 基本的な知識が欠けていて申し訳ございません。努力していきます。 コンソールに結果を出せるのは、クライアント側からパスを入力して(/usr/bin/vmstat)サーバ側のコンソールに出力までしかできていません。回答していただいたように、クライアントで受け取りたいのですが、方法はありますでしょうか?お手数をかけますが、よろしくお願いします。

  • na_kirajp
  • ベストアンサー率43% (33/76)
回答No.1

vmstatをシェルにしてみてはどうでしょうか? sh_vmstat.shにvmstat > ファイル名を記載し、 execlで起動するのはシェルを起動する。

paddling
質問者

お礼

迅速な回答を真にありがとうございます。 シェルにする方法はどのようにすればよろしいのでしょうか? 基本的な質問であったら、非常に申し訳ないのですが、よろしくお願いします。

関連するQ&A