Czy jest jakiś sposób na uruchomienie skryptu, gdy interfejs sieciowy pojawi się w Mac OS X?
Próbowałem umieścić skrypt o nazwie ip-up w / etc / ppp, ale wydaje się, że nie uruchamia się po odłączeniu i ponownym połączeniu z siecią bezprzewodową.
Wolałbym nie uruchamiać zadania cron, aby stale sprawdzać, czy zmienił się status sieci. W niektórych dystrybucjach Linuksa możesz to zrobić, umieszczając skrypt w /etc/network/if-up.d/. Czy jest coś podobnego w systemie Mac OS X?
Wygląda na to, że uruchomiony agent patrzy
/etc/resolv.conf
i dwa powiązane z siecią pliki .plist poniżej/Library/Preferences/SystemConfiguration/
działają dla mnie (w Mac OS X 10.8.4):Wcześniej używałem tylko /etc/resolv.conf, ale były przypadki, w których to nie wystarczyło.
źródło
<plist version="1.0">
brakuje tagu otwierającego . [1] [ apple.stackexchange.com/a/181127/56862]SystemConfiguration
plikach? Po podłączeniu / odłączeniu kabla sieciowego nic się nie zmienia/etc/resolv.conf
plik jest usuwany i odczytywany, gdy zmienia się stan mojego Wi-Fi, więc nie jestem pewien, dlaczego działa tylko przy rozłączeniu.Powinieneś rozważyć użycie crankd , który dokładnie pozwala na uruchamianie skryptów w odpowiedzi na wiele zdarzeń systemowych, takich jak zmiany w sieci, aktywność systemu plików, uruchamianie aplikacji itp.
Ponieważ nie mogłem znaleźć żadnej sensownej dokumentacji, napisałem również mały post na blogu na temat korzystania z crankd .
źródło
To wydaje się działać w bash:
zamień na
echo change
swoje polecenie, pamiętając, że jeśli chcesz zacytować cokolwiek w swoim poleceniu, musisz użyć'\''
:źródło
ControlPlane: „Computing Sensitive Computing”
ControlPlane jest bezpośrednim portem MarcoPolo i tak naprawdę duża część konfiguracji z MarcoPolo nadal działa z ControlPlane, tylko lepiej! ControlPlane obsługuje 32-bitowe i 64-bitowe komputery Mac z procesorem Intel i systemem Snow Leopard lub nowszym.
źródło
Zacznij od uruchomienia. Korzystając z niej, możesz być w stanie uzyskać podobną funkcjonalność.
EDYCJA : 9 lat później, może nie. Zgodnie z tym wpisem w Wikipedii :
W 2014 roku, w systemie OS X 10.10 i iOS 8, Apple przeniósł kod do uruchomienia do zamkniętego źródła libxpc
źródło