Mac OS Xでこれを行う方法は、LaunchServicesを使用することです。init
これは、やなどの古いシステムサービスに置き換わるものであり、システムサービスcrontab
を管理するための単一の統合フレームワークを提供します。
あなたの場合、おそらく別のスクリプトは必要ありません。アプリのインスタンスを実行し続けることは、システムによって処理される必要があります。.plist
まず、デーモン/スクリプト/アプリケーションを説明するファイルを作成する必要があります。サービスの種類に応じて、次のいずれかの場所に配置します。
~/Library/LaunchAgents
:ユーザーが提供するユーザーごとのエージェント。
/Library/LaunchAgents
:管理者によって提供されるユーザーごとのエージェント。
/Library/LaunchDaemons
:管理者が提供するシステム全体のデーモン。
/System/Library/LaunchAgents
:MacOSXユーザーごとのエージェント。
/System/Library/LaunchDaemons
:MacOSXシステム全体のデーモン。
サービスを定義したら、launchctl
コマンドを使用してを制御できますlaunchd
。たとえば、実行中のサービス、開始/停止サービスなどを一覧表示できます。
完全なドキュメントはここにあります: