0

Mac OS X システムのスタートアップ プログラムlaunchdは、ジョブ スケジューリングを有効にします ( cronに似ています) 。launchdエージェントを作成することにより、次のイベントのいずれかを介してプログラムをトリガーできます。

  • 一定の時間が経過した
  • 特定の暦日が来ました
  • ファイル パスが変更されました
  • 何かが特定のディレクトリ (キュー ディレクトリ) に配置されている
  • ボリュームがマウントされました

私は以前、OS X システムを自動化するための Python スクリプトのコレクションを開始するために launchd に依存していました。ただし、新しいスクリプトを追加すると、それを起動するための新しい launchd エージェントのインストールも必要になることが多いため、 launchdを方程式から除外したいと考えています。Python プログラムは、上記のようなイベントが発生するのを待って監視し、適切なルーチンをディスパッチする必要があります。

上記のようなイベントを検出するのに適した Python モジュールはありますか? または、より一般的な質問として、Python (およびおそらく AppScript ブリッジ経由の AppleScript) を使用して、この設定でlaunchdを置き換えるにはどうすればよいですか? 質問がかなり曖昧で申し訳ありません。読書の提案も大歓迎です。

4

1 に答える 1

1

ファイルシステム監視の問題については、おそらくpyfseventsを探しているでしょう。この投稿によると、

FSEvents API は、ファイル システムで変更が発生したときにアプリケーションに通知します。ファイル システム イベントを使用して、含まれているファイルやディレクトリの作成、変更、削除など、ディレクトリの変更を監視できます。

于 2010-02-11T12:36:59.917 に答える