Mac OS Xにおいて、定期的にあるプロセスを実行したい場合は「cron ジョブ」、「at ジョブ」「launchd ジョブ」、「periodic ジョブ」四つの方法がある。 「at ジョブ」「periodicジョブ」と「atジョブ」「periodic ジョブ」定期的に実行できるジョブであるが、Mac OS Xによって、実行方法が違いう。 Mac OS X v10.3まではcronコマンドで実行させる。v10.4以降はlaunchdで実行させる。
「atジョブ」は省エネルギーするためにディフォルトで使用不可能(disable)として設定される。 「cron ジョブ」と「launchdジョブ」の違い 「cron」、「launchd」ともジョブ(スクリプト)を自動実行するためのデーモンプロセスである。 「cron ジョブ」はMac OS Xすべてのバージョンが全部対応できるが、v10.4以降cronに替わってlaunchd で勧められている。 「cron ジョブ」: ・ ・「cron ジョブ」を実行するのは保証しない。指定される時間帯でPCがシャットダウン、スリープすれば、再起動、ウェイクアップとしても、次の時間帯がくるまでにジョブを実行しない。 ・ ・「cron ジョブ」をインストールする時、共通なリソース(crontab ファイル)を修正しなければいけない。 「launchd ジョブ」: ・「launchdジョブ」毎に一個ファイルで記述する。ジョブの追加と削除は簡単になる。 ・指定される時間帯でPCがスリープしても、ウェイクアップすればすぐジョブを実行できる。 ・アップルドキュメント「Daemons」 http://developer.apple.com/DOCUMENTATION/MacOSX/Conceptual/BPSystemStartup/Articles/Daemons.html ・アップルドキュメント「launchd.plist仕様」 ・「launchDaemons」の使い方(日本語版) http://www.maruko2.com/mw/LaunchDaemons_(launchctl,_launchd.plist)_の使い方 |