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」がトリックを実行すると思います。