web-dev-qa-db-ja.com

「top」コマンドで出力をラップするにはどうすればよいですか?

「コマンド」列が画面の幅で切り捨てられ、最後の部分が表示されません。

フォントサイズを小さくして、コマンドラインの長い部分が見えるようにしようとしましたが、それでも表示されません。

21
sureshvv

_top -bcn1 -w512_

エレガントなソリューションは、オプション_-w [number]_を使用することです。 manページによると、最大幅は512文字であるため、それを超えるものには別のソリューションが必要になります。コマンドの完全な長さも確認したいので、_-c_オプションを使用します。 topを「バッチモード」で実行する必要がある、_-b_、または「+」を使用してコマンドを継続的に切り捨てます。バッチモードは、毎秒allジョブを出力するため、混乱を招くため、_-n1_オプションを使用して、 1つのインスタンス。

詳細は man top ページを参照してください。

10
boof

読みやすくするために、コマンドフィールドはデフォルトで自動的に切り捨てられます。

あなたは走る必要があります

top -c

完全なコマンドを表示するには、コンソールウィンドウの機能に応じて、右にスクロールして完全なコマンドを表示できます。

21
ring bearer

Daniel Arndtが言ったように、topの代わりに htop を使用することもできます。最近のすべてのディストリビューションで利用でき、より良い数を提供します(特にメモリ使用量の場合)

また、端末の色に制限されている場合でも、使いやすく見やすくなっています。たとえば、完全なコマンドを表示するために右にスクロールしたり、単純なF9でプロセスを強制終了したりできます。 't'キーでツリー全体を表示することもできます。

9
Coren

これはハッキーですが、topを起動する前に$ COLUMNSおよび$ LINESシェル変数を調整することで動作を変更できます。

export COLUMNS=$((COLUMNS*2))
export LINES=$((LINES/2))
top

これにより、書き込む列が2倍(そして、これをオフセットするために行数が半分)あることをシェルに納得させることができます。 bashを使用している場合は、shopt -s checkwinsize事前に。これにより、上部が終了すると、これらの値を再計算するように指示されます。それ以外の場合は、それらの値をバックアップ/復元する(またはウィンドウのサイズを変更する)ことができます。

3

これを試してみてください。これは、固定幅のtopの唯一のインスタンスを出力して終了し、出力を取得できます。

top -n1 -w80

出力をファイルにパイプすることもできます。

top -n1 -w80 > top_output.txt
0
kabirbaidhya

以下のコマンドを使用して、スクリーン出力幅を増やしてみてください。

エクスポートCOLUMNS = 197 top -u -cbn1> top.output

ここで197は単なる変数です。要件と必要な詳細出力に応じて増やしてみてください。

0
Amit Gupta

top -b -n 1およびpsを含むバッチ画面を設計できます。次に例を示します。

while (true)
do
  clear
  top -b -n 1
  ps
  sleep 5
done

これは表示を処理します:

  • PID
  • CPU
  • 切り詰められていないコマンドライン
0
Stephen Quan