シェルスクリプトを介して端末にリアルタイムの結果を表示するにはどうすればよいですか?

シェルスクリプトを介して端末にリアルタイムの結果を表示するにはどうすればよいですか?

リアルタイムで結果を表示するシェルスクリプトを書くには?

このようなtop固定時間間隔後に結果を更新するコマンド。

代替テキスト

答え1

使用できる時計(1)スクリプトを定期的に実行するコマンド:

watch -n 1 myscript.sh

これは1秒ごとに実行され、myscript.sh各実行の間に画面が消去され、エッジにタイムスタンプが表示されます。このオプションを使用でき-d、各実行の出力差も強調表示されます。

答え2

自分がやろうとしていることをより具体的に説明すると役に立ちます。

これは極度に簡単な例:

while true
do
    clear
    date
    sleep 1
done

答え3

ほとんどのデータは通常/proc仮想ファイルシステムの基本要素に公開されます。各プロセスには、/ procディレクトリにPIDというエントリがあります。したがって、/proc/5437には5437プロセスの基本要素があります。そこから基本要素を読み、適切に解析すると、最高の機能に近づくことができます。

Topは、実際にはファイルではなくカーネルから直接この情報を取得する特定の関数呼び出しを呼び出すことによって機能します。 Bashで同じことをするには、/ proc仮想ファイルシステムから抽出するか、toなどの他の呼び出しから抽出する必要がありますps

リアルタイムの場合、これはtopが提供する詳細レベルでは実現できません。リアルタイムのように見えるほど時間を分割できますが、それでも時間分割が得られます。

答え4

top使用呪い/procファイルシステムを読みます。

関連情報