Где разместить скрипт оболочки? - PullRequest
2 голосов
/ 06 сентября 2010

Здравствуйте, товарищи компьютерные люди:)

У меня есть сценарий оболочки, который я буду использовать в качестве сторожевого таймера. Он проверяет, запущена ли моя другая «основная» программа. Если это не так, он перезапускает его.

Вопрос: как мне установить это на Mac? Есть ли где-нибудь сценарий с папкой / файлом списка, где ОС автоматически и периодически вызывает скрипт, гарантируя, что моя программа никогда не будет работать так долго без запуска? В идеале я хотел бы проверять каждую минуту, но каждый час или даже пару раз в день будет удовлетворительным.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 06 сентября 2010

Способ сделать это в 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.Например, вы можете перечислить запущенные службы, запускать / останавливать службы и т. Д.

Полная документация приведена здесь:

2 голосов
/ 06 сентября 2010

Я не пользователь Mac, но должен быть cron демон. http://hints.macworld.com/article.php?story=2001020700163714

1 голос
/ 06 сентября 2010

Crontab должен сделать вас хорошо.Настройте скрипт на запуск каждые X минут, а cron сделает все остальное.Если вы предпочитаете графический интерфейс для своих программ, попробуйте cronnix .

...