top
プログラムでプロセス出力をキャプチャできるように、1回の反復に対してのみコマンドを実行したいと思います。実行すると、top
端末を終了しない限り返されません。だから一度だけして帰ってくればいいのです。どうすればいいですか?編集:コマンドを
実行しています。top
Java: Runtime.getRuntime().exec("top");
答え1
少なくともLinux / procps topの場合は、-b
(バッチモードに切り替える)と-n 1
(1回の反復のみ実行)の両方が必要です。
top -b -n 1
man top
これらのオプションを文書化したマニュアルページを確認することをお勧めします。
言うまでもなく、目的に応じてより良いツールを使用できます(たとえば、ps
プログラミング言語で使用できるいくつかのライブラリ)。