2

こんにちは仲間のコンピュータの人々:)

ウォッチドッグタイマーとして使用するシェルスクリプトがあります。他の「メイン」プログラムが実行されているかどうかを確認します。そうでない場合は、再起動します。

問題は、これをMacにインストールするにはどうすればよいですか?OSが自動的かつ定期的にスクリプトを呼び出して、プログラムが実行せずにそれほど長くならないようにするフォルダー/ plistファイルのシナリオはありますか?理想的には毎分テストしたいのですが、1時間ごとまたは1日に数回でも十分です。

ありがとうございました!

4

3 に答える 3

4

Mac OS Xでこれを行う方法は、LaunchServicesを使用することです。initこれは、やなどの古いシステムサービスに置き換わるものであり、システムサービスcrontabを管理するための単一の統合フレームワークを提供します。

あなたの場合、おそらく別のスクリプトは必要ありません。アプリのインスタンスを実行し続けることは、システムによって処理される必要があります。.plistまず、デーモン/スクリプト/アプリケーションを説明するファイルを作成する必要があります。サービスの種類に応じて、次のいずれかの場所に配置します。

  • ~/Library/LaunchAgents:ユーザーが提供するユーザーごとのエージェント。
  • /Library/LaunchAgents:管理者によって提供されるユーザーごとのエージェント。
  • /Library/LaunchDaemons:管理者が提供するシステム全体のデーモン。
  • /System/Library/LaunchAgents:MacOSXユーザーごとのエージェント。
  • /System/Library/LaunchDaemons:MacOSXシステム全体のデーモン。

サービスを定義したら、launchctlコマンドを使用してを制御できますlaunchd。たとえば、実行中のサービス、開始/停止サービスなどを一覧表示できます。

完全なドキュメントはここにあります:

于 2010-09-06T14:00:05.443 に答える
2

私はMacユーザーではありませんが、cronデーモンが必要です。http://hints.macworld.com/article.php?story=2001020700163714

于 2010-09-06T12:51:51.977 に答える
1

Crontabはうまくいくはずです。X分ごとに実行するようにスクリプトを設定すると、残りはcronが実行します。プログラムよりもGUIインターフェースが必要な場合は、cronnixを試してください。

于 2010-09-06T12:52:17.637 に答える