「コマンド」列が画面の幅で切り捨てられ、最後の部分が表示されません。
フォントサイズを小さくして、コマンドラインの長い部分が見えるようにしようとしましたが、それでも表示されません。
_top -bcn1 -w512
_
エレガントなソリューションは、オプション_-w [number]
_を使用することです。 manページによると、最大幅は512文字であるため、それを超えるものには別のソリューションが必要になります。コマンドの完全な長さも確認したいので、_-c
_オプションを使用します。 top
を「バッチモード」で実行する必要がある、_-b
_、または「+」を使用してコマンドを継続的に切り捨てます。バッチモードは、毎秒allジョブを出力するため、混乱を招くため、_-n1
_オプションを使用して、 1つのインスタンス。
詳細は man top ページを参照してください。
読みやすくするために、コマンドフィールドはデフォルトで自動的に切り捨てられます。
あなたは走る必要があります
top -c
完全なコマンドを表示するには、コンソールウィンドウの機能に応じて、右にスクロールして完全なコマンドを表示できます。
Daniel Arndtが言ったように、topの代わりに htop を使用することもできます。最近のすべてのディストリビューションで利用でき、より良い数を提供します(特にメモリ使用量の場合)
また、端末の色に制限されている場合でも、使いやすく見やすくなっています。たとえば、完全なコマンドを表示するために右にスクロールしたり、単純なF9でプロセスを強制終了したりできます。 't'キーでツリー全体を表示することもできます。
これはハッキーですが、topを起動する前に$ COLUMNSおよび$ LINESシェル変数を調整することで動作を変更できます。
export COLUMNS=$((COLUMNS*2))
export LINES=$((LINES/2))
top
これにより、書き込む列が2倍(そして、これをオフセットするために行数が半分)あることをシェルに納得させることができます。 bashを使用している場合は、shopt -s checkwinsize
事前に。これにより、上部が終了すると、これらの値を再計算するように指示されます。それ以外の場合は、それらの値をバックアップ/復元する(またはウィンドウのサイズを変更する)ことができます。
これを試してみてください。これは、固定幅のtop
の唯一のインスタンスを出力して終了し、出力を取得できます。
top -n1 -w80
出力をファイルにパイプすることもできます。
top -n1 -w80 > top_output.txt
以下のコマンドを使用して、スクリーン出力幅を増やしてみてください。
エクスポートCOLUMNS = 197 top -u -cbn1> top.output
ここで197は単なる変数です。要件と必要な詳細出力に応じて増やしてみてください。
top -b -n 1およびpsを含むバッチ画面を設計できます。次に例を示します。
while (true)
do
clear
top -b -n 1
ps
sleep 5
done
これは表示を処理します: