Launchd startet Event 40 Sekunden später?

Ich habe eine .plistDatei erstellt, die als Systemdämon fungieren soll (global mit rootBenutzer). Diese .plistDatei überwacht das settingsVerzeichnis auf Änderungen wie z. B. das Ändern von Netzwerkeinstellungen. In diesem Fall sollte ein Bash-Skript gestartet werden.

Allerdings funktioniert es, aber nicht wie erwartet. Wenn ich eine VPN-Verbindung öffne, dauert es etwa 40 Sekunden, bis das Bash-Skript ausgeführt wird. Ich möchte, dass es direkt nach dem Öffnen der VPN-Verbindung ausgeführt wird.

Wie entferne ich die Verzögerung vor dem Start?

Hier ist der Code der .plistDatei:

   <plist version="1.0">
   <dict>
        <key>Label</key>
        <string>lucafuhl.vpnhelper</string>
            <key>Program</key>
            <string>/Users/vpnhelper.sh</string>
        <key>WatchPaths</key>
            <string>/Library/Preferences/SystemConfiguration</string>
    </dict>
    </plist>
Bitte geben Sie Ihre .plist-Datei an, damit wir sehen können, welche Eigenschaften Sie verwenden.
Für welche Datei innerhalb von SystemConfiguration überwachen Sie Änderungen? Ist es möglich, dass die Datei erst 40 Sekunden nach dem Aufbau des VPN geändert wird?
Soweit ich über dieses System weiß, beobachte ich alle Dateien in /Library/Preferences/SystemConfiguration. Ich weiß nicht genau, welche Datei geändert wird. So habe ich es hier auf Stackexchange gefunden
Dies ist kein starker Bereich für mich, aber wenn es ein Problem in Ihrer plist-Konfigurationsdatei gibt, wäre eine einfachere Möglichkeit, es zu erstellen, die Verwendung von LaunchControl [ soma-zone.com/LaunchControl/] - siehe auch launchd.info.

Antworten (1)

Zwei Dinge:

Versuchen Sie, Ihre zu platzieren

<string>/Library/Preferences/SystemConfiguration</string> 

innen ein

<array> 
</array>

Außerdem können Sie mit dem folgenden Befehl möglicherweise beobachten, wann die Änderung tatsächlich erfolgt.

sudo fs_usage -f filesys | grep /Library/Preferences/SystemConfiguration