2

你好电脑同胞:)

我有一个 shell 脚本,我将用作看门狗计时器。它检查我的其他“主”程序是否正在运行。如果不是,它将重新启动它。

问题是:如何在 Mac 上安装它?操作系统会自动定期调用脚本的某个地方是否存在文件夹/plist 文件场景,以确保我的程序在不运行的情况下永远不会运行那么长时间?理想情况下,我希望每分钟测试一次,但每小时甚至每天几次都令人满意。

谢谢!

4

3 回答 3

4

在 Mac OS X 上执行此操作的方法是使用启动服务。它取代了旧的系统服务,例如initandcrontab并提供了一个单一的、统一的框架来管理系统服务。

在您的情况下,您可能不需要单独的脚本 - 保持应用程序实例运行应该由系统处理。首先,您需要创建.plist描述您的守护进程/脚本/应用程序的文件。您可以将其放置在以下位置之一,具体取决于服务类型:

  • ~/Library/LaunchAgents:用户提供的每用户代理。
  • /Library/LaunchAgents:管理员提供的每用户代理。
  • /Library/LaunchDaemons:管理员提供的系统范围的守护进程。
  • /System/Library/LaunchAgents: Mac OS X 每用户代理。
  • /System/Library/LaunchDaemons: Mac OS X 系统范围的守护进程。

一旦定义了服务,就可以使用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 回答