2 votos

la velocidad de ejecución launchctl

Me he puesto un montón de secuencias de comandos que necesita suceder cuando conecto mi dock thunderbolt en casa (desactivar el wifi, activar bluetooth, ...).

Para detectar el dock thunderbolt puedo hacer uso de los siguientes launchctl el servicio de:

<?xml version="1.0" encoding="UTF-8"?>                                                                   
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>romeovs.dock.agent</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/romeovs/.bin/dock/run.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <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>
</dict>
</plist>

Este servicio escucha a launchd para un cambio de la red a suceder (detección de la conexión de red que está conectado a la base dock). Esta configuración parece que funciona, pero es muy lento para detectar y actuar cuando la base está conectada.

Ya toma un largo tiempo para que el muelle de la red, pero después de eso también lleva otros 5 segundos antes de que el script se llama.

Hay una manera para hacer que el servicio detectar los cambios en la red más rápido (sin establecimiento de un centro de votación de servicio)?

1voto

Steve Evans Puntos 155

El retraso es más probable que sea en el centro de notificaciones; el notifyd servicio no es el momento crítico.

Considere el uso de un proceso de observación de IOKit nivel de notificaciones. En el IOKit capa de notificaciones son inmediatamente enviados y diseñado para los procesos de reaccionar a los cambios de hardware.

Tratando de usar Gruñido y el HardwareGrowler , además de activar la secuencia de comandos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X