回答:
Mac OS 10.4のリリースにより、Mac OS launchd
に取って代わりcron
ました。以下は、 2005年のApple Developer Connectionの起動ページのキャッシュバージョンです。cron
非推奨となった理由とlaunchd
、Appleの観点からの利点を説明しています。
要約:launchd
単に置き換えるcron
だけでなくinit
、xinetd
パフォーマンスを向上させ、構成と実際のタスク自体をよりよく制御するために作成されました。
launchd
デーモンの提供システムによって自動的に開始された、すべてのプログラムへの単一の、標準化され、インターフェース。さらに、特定のプログラムをいつ実行するかを決定する構成ファイルは、リソース制限と環境変数も指定できるため、多くのプログラムのセットアップとセキュリティが簡素化されます。システムの起動時またはユーザーのログイン時、ネットワーク経由のオンデマンドで、または間隔を置いてジョブが一度起動されても、同じ構成ファイル形式が使用されます。
launchdに関するウィキペディアの記事には、非常に優れた概要、詳細なディスカッション、およびAppleによるこの決定をさらに掘り下げるための優れたビデオと外部リンクがあります。
簡単に言えば、launchd
7つの主要なタスクと大量のスクリプト(inetd、init、rc、および関連するシェルスクリプト構造、crond、atd、watchdogd、SystemStarter)を、はるかに強力なオープンソースツールに置き換えます。
なぜ:
時期:2005年4月29日(OS X Tigerが発売された時期)
Tiger、Leopard、Snow Leopardでlaunchdを使用してcronを起動することを私たち全員が妨げることは何もありません。
将来のAppleが出荷を停止すると/usr/sbin/cron
、コンパイルされて別のコマンドラインツールとして追加する必要があるwgetおよびその他の成熟したオープンソースツールのようになります。
cronが廃止されたかどうかさえ知りません。man crontab
していないことを示しているようです:
(Darwinの注意:cron(8)とcrontab(5)はDarwinで公式にサポートされていますが、それらの機能はlaunchd(8)に吸収され、コマンドを自動的に実行するより柔軟な方法を提供します。詳細はlaunchctl(1)を参照してください)
Daemons and Services Programming Guideは、廃止されたと述べています:
注:まだサポートされていますが、cronは推奨されるソリューションではありません。launchdを支持して廃止されました。
crontabはPOSIXでも必要であり、OS XはSUSに準拠しているはずです。
いずれにせよ、cronはおそらくすぐに動作を停止することはないでしょうし、launchdよりも遅いか、安全性が低いと言えるかどうかはわかりません。cronプロセスは、CPU時間やメモリをほとんど使用しません。cronを使用または学習することのいくつかの利点は、他のプラットフォームでも利用可能であり、構成形式がより単純であることです。