你好电脑的同事们:)
我有一个shell脚本,我将用作看门狗定时器。它会检查我的其他“主要”程序是否正在运行。如果不是,则重新启动它。
问题是:如何在Mac上安装此功能?是否存在文件夹/ plist文件场景,操作系统将自动并且定期调用脚本,确保我的程序在没有运行的情况下永远不会那么久?理想情况下,我想每分钟测试一次,但每天每小时甚至几次都会令人满意。
谢谢!
答案 0 :(得分:4)
在Mac OS X上执行此操作的方法是使用Launch Services。它取代了init
和crontab
等旧系统服务,并为管理系统服务提供了一个统一的框架。
在您的情况下,您可能不需要单独的脚本 - 保持应用程序运行的实例应由系统处理。首先,您需要创建描述您的守护程序/脚本/应用程序的.plist
文件。您可以将其放在以下位置之一,具体取决于服务类型:
~/Library/LaunchAgents
:用户提供的每用户代理。/Library/LaunchAgents
:管理员提供的每用户代理。/Library/LaunchDaemons
:管理员提供的系统范围守护程序。/System/Library/LaunchAgents
:Mac OS X每用户代理。/System/Library/LaunchDaemons
:Mac OS X系统范围的守护进程。定义服务后,您可以使用launchctl
命令来控制launchd
。例如,您可以列出正在运行的服务,启动/停止服务等。
完整的文档在这里:
答案 1 :(得分:2)
我不是Mac用户,但应该有cron
守护程序。 http://hints.macworld.com/article.php?story=2001020700163714
答案 2 :(得分:1)