特定の「top」コマンドの出力をファイルに書き込みたい。グーグルを実行したところ、次のコマンドを使用して実行できることがわかりました。
top -n 10 -b > top-output.txt
ここで、-nは反復回数を指定し、-bはバッチモードを指定します。これは、10回の反復でトップにすると非常にうまく機能します。しかし、Ctrl-Cを使用してコマンドの実行を中断すると、出力ファイルが空のように見えます。
事前に反復回数がわからないので、手動で壊す必要があります。反復を指定せずにtopの出力をファイルにキャプチャするにはどうすればよいですか?
私が正確に使おうとしているコマンドは
top -b | grep init > top-output.txt
そして私が望むときはいつでもそれを壊します。しかし、それは機能しません。
編集:質問にさらにコンテキストを与えるために、入力ファイルを使用してツールを呼び出すJavaコードがあります。ツールの場合と同様に、ファイルを入力として受け取り、しばらくの間実行してから、次のファイルを受け取ります。ツールにフィードする必要がある100,000個のファイルのセットがあります。だから今私はその特定のツールを監視しようとしています(それはLinuxでプロセスとして実行されます)。不要なデータでは大きすぎるため、「top」のデータ全体をファイルとしてキャプチャすることはできません。そのプロセスのシステム統計をキャプチャし、topを使用してファイルに書き込む方法は?