2012-09-12 2 views
1

[네트워크] 위치 변경 b/c를 처리하기 위해/Library/Preferences/SystemConfiguration을 보지 않으려 고하므로 모든 스크립트가 변경 될 때마다 스크립트가 두 번 연속 실행됩니다.OSX launchd : 유선 연결을 모니터링하는 신뢰할 수있는 방법은 무엇입니까?

Watching /Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist는 wifi에서 잘 작동하지만, 예를 들어 Wi-Fi를 사용하고 내 벼락치 이더넷을 연결할 때 잡히지 않습니다.

유선 연결을 볼 수있는 plist가 있습니까? 아니면 매 5 초마다 폴링 한 두 번째 LaunchAgent를 추가 한 다음 ~ 이더넷 라이브러리가 활성 상태로 변경되면 ~/Library에있는 일부 파일에 닿아 있습니까?

답변

3

이 변화가

<key>LaunchEvents</key> 
<dict> 
    <key>com.apple.notifyd.matching</key> 
    <dict> 
     <key>com.apple.system.config.network_change</key> 
     <dict> 
      <key>Notification</key> 
      <string>com.apple.system.config.network_change</string> 
     </dict> 
    </dict> 
</dict>  

을 작동하지만 그 통지를 많이 생산하는 것입니다 ... 그것은 권리를 발견하기 위해 deamons 더미에서 일부 검색을했다 구문 : 즐겁게

0

이론 상으로는 launchd plist에서 알림을 신청할 수 있어야합니다. 나는 실제로 그것을 얻지 않았다, 그러나 나는 그 모두를 열심히 시도하지 않았다. 이것은 내가 일하는 것이 들었다 것입니다 :

<key>LaunchEvents</key> 
<dict> 
    <key>com.apple.distnoted.matching</key> 
    <dict> 
     <key>com.apple.system.config.network_change</key> 
     <dict> 
      <key>Name</key> 
      <string>com.apple.system.config.network_change</string> 
     </dict> 
    </dict> 
</dict>   
+0

네, http://www.opensource.apple.com/source/Libnotify/Libnotify-98.5/notify_keys.h에 기반하여 작동해야합니다 ... 네 말이 맞아. '티. –

관련 문제