プロセスがn%を超えるCPUを使用している場合、休止状態

プロセスがn%を超えるCPUを使用している場合、休止状態

私は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=この番号を知らせるだけで十分であることを意味します。

関連情報