私はmacOSを使用しています。プロセス(コマンド名でのみ知っています)がCPUの5%以上を使用しているときに0.5秒間一時停止(つまり休止)するbashスクリプトを作成したいと思います。私はできます。
pgrep command_name
それから
ps -p PID -o %cpu | tail -1 | cut -c 3-5
CPU使用率を取得し、whileループ内の対応する番号を使用します。これをよりエレガントに実行できますか(可能であれば1行のコードで)。
答え1
コマンド置換を使用すると、簡単にすることができます。
ps -p $(pgrep firefox) -o %cpu | tail -1 | cut -c 3-5
テストするMacがないため、このシステムでは機能しない可能性があります。ただし、Linuxでは、次を%cpu=
使用してヘッダー印刷を回避できます。
$ ps -p $(pgrep firefox) -o %cpu
%CPU
23.3
$ ps -p $(pgrep firefox) -o %cpu=
23.3
これは、ps -p $(pgrep firefox) -o %cpu=
この番号を知らせるだけで十分であることを意味します。