Mac OS X システムのスタートアップ プログラムlaunchdは、ジョブ スケジューリングを有効にします ( cronに似ています) 。launchdエージェントを作成することにより、次のイベントのいずれかを介してプログラムをトリガーできます。
- 一定の時間が経過した
- 特定の暦日が来ました
- ファイル パスが変更されました
- 何かが特定のディレクトリ (キュー ディレクトリ) に配置されている
- ボリュームがマウントされました
私は以前、OS X システムを自動化するための Python スクリプトのコレクションを開始するために launchd に依存していました。ただし、新しいスクリプトを追加すると、それを起動するための新しい launchd エージェントのインストールも必要になることが多いため、 launchdを方程式から除外したいと考えています。Python プログラムは、上記のようなイベントが発生するのを待って監視し、適切なルーチンをディスパッチする必要があります。
上記のようなイベントを検出するのに適した Python モジュールはありますか? または、より一般的な質問として、Python (およびおそらく AppScript ブリッジ経由の AppleScript) を使用して、この設定でlaunchdを置き換えるにはどうすればよいですか? 質問がかなり曖昧で申し訳ありません。読書の提案も大歓迎です。