Есть ли способ запустить скрипт, когда в Mac OS X появляется сетевой интерфейс?
Я попытался поместить скрипт с именем ip-up в / etc / ppp, но он не срабатывает, когда я отключаюсь и снова подключаюсь к беспроводной сети.
Я бы предпочел не запускать задание cron, чтобы постоянно проверять, изменилось ли состояние сети. В некоторых дистрибутивах Linux вы можете сделать это, поместив скрипт в /etc/network/if-up.d/. Есть ли что-нибудь подобное для Mac OS X?
Наблюдение за агентом launchd
/etc/resolv.conf
и два файла .plist, связанных с сетью,/Library/Preferences/SystemConfiguration/
похоже, мне подходят (в Mac OS X 10.8.4):Ранее я использовал только /etc/resolv.conf, но были случаи, когда этого было недостаточно.
источник
<plist version="1.0">
тег отсутствует. [1] [ apple.stackexchange.com/a/181127/56862]SystemConfiguration
файлах? Если я/etc/resolv.conf
файл удаляется и читается при изменении состояния Wi-Fi, поэтому я не уверен, почему он работает только при отключении.Вы должны рассмотреть возможность использования crankd , который точно позволяет запускать сценарии в ответ на многие системные события, такие как изменения в сети, активность файловой системы, запуск приложений и т. Д.
Поскольку я не смог найти никакой разумной документации, я также написал небольшую запись в блоге о том, как начать использовать crankd .
источник
Это похоже на работу в Bash:
замените его
echo change
своей командой, помня, что если вам нужно что-то заключить в команду, вам нужно использовать'\''
:источник
ControlPlane: «контекстно-зависимые вычисления»
ControlPlane - это прямой порт MarcoPolo, и фактически большая часть конфигурации от MarcoPolo все еще работает с ControlPlane, просто лучше! ControlPlane поддерживает 32- и 64-битные компьютеры Mac на базе Intel, работающие под управлением Snow Leopard и выше.
источник
Начните с launchd. Вы могли бы быть в состоянии подобной функциональности, используя это.
РЕДАКТИРОВАТЬ : 9 лет спустя, может быть, нет. Согласно этой записи в Википедии :
В 2014 году с OS X 10.10 и iOS 8 Apple переместила код для запуска в закрытый исходный код libxpc
источник