cronが廃止されるのはなぜですか?


21

cronMac OS Xで非推奨になったことがわかりました。これはなぜですか。将来のリリースから完全に削除されるのでしょうか?

回答:


24

Mac OS 10.4のリリースにより、Mac OS launchdに取って代わりcronました。以下は、 2005年のApple Developer Connectionの起動ページのキャッシュバージョンですcron非推奨となった理由とlaunchd、Appleの観点からの利点を説明しています。

要約:launchd単に置き換えるcronだけでなくinitxinetdパフォーマンスを向上させ、構成と実際のタスク自体をよりよく制御するために作成されました。

launchdデーモンの提供システムによって自動的に開始された、すべてのプログラムへの単一の、標準化され、インターフェース。さらに、特定のプログラムをいつ実行するかを決定する構成ファイルは、リソース制限と環境変数も指定できるため、多くのプログラムのセットアップとセキュリティが簡素化されます。システムの起動時またはユーザーのログイン時、ネットワーク経由のオンデマンドで、または間隔を置いてジョブが一度起動されても、同じ構成ファイル形式が使用されます。


13

launchdに関するウィキペディアの記事には、非常に優れた概要、詳細なディスカッション、およびAppleによるこの決定をさらに掘り下げるための優れたビデオと外部リンクがあります。

簡単に言えば、launchd7つの主要なタスクと大量のスクリプト(inetdinitrc、および関連するシェルスクリプト構造、crondatdwatchdogdSystemStarter)を、はるかに強力なオープンソースツールに置き換えます。

なぜ:

  • もっと早く
  • 更に力強い
  • 統合され一元化された
  • より安全に

時期:2005年4月29日(OS X Tigerが発売された時期)

Tiger、Leopard、Snow Leopardでlaunchdを使用してcronを起動することを私たち全員が妨げることは何もありません。

将来のAppleが出荷を停止すると/usr/sbin/cron、コンパイルされて別のコマンドラインツールとして追加する必要があるwgetおよびその他の成熟したオープンソースツールのようになります。


5

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を使用または学習することのいくつかの利点は、他のプラットフォームでも利用可能であり、構成形式がより単純であることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.