SHプロセスはCPUの50%を使用していますが、なぜですか?

SHプロセスはCPUの50%を使用していますが、なぜですか?

30秒ごとにCRONを実行しますが、それはプロセスの範囲crondですか?shシェルスクリプトを実行している人がいませんが、なぜコマンドが私のCPUの50%を占めるのですか?

答え1

Cronは実行コマンドフィールドで指定されたコマンドを使用しますsh -c。 crontab ファイルで SHELL を設定して別のシェルを指定できます。

編集する:

明確にするために、このsh -cコマンドは、指定されたコマンドに基づいて別のサブプロセスを生成できるcronのサブプロセスとして実行されます。

答え2

crondおなじみのすべてのシステムでrootとして実行します。

1016 % ps -ef | grep crond 
root       342     1  0 12:37 ?        00:00:00 /usr/sbin/crond

これはかなり最新のArchインストールにありますが、以前のSlackwareでは同じことを言います。 root 以外のユーザーとして crontab ファイルを作成した場合、crondコマンドは root 以外のユーザー ID で実行されます。ルート所有権は、長年にわたっていくつかの重要なセキュリティ問題の原因でした。

CPUを50%使用するという観点から、30秒ごとに重いジョブを実行すると、CPUの50%を使いやすくなります。私はshの組み込み文字列パターンのマッチングや算術の多くを実行するように、多くの「globbing」がトリックを実行すると思います。

関連情報