10 votos

¿Por qué mi launchd trabajo que se ejecuta en el arranque, incluso con RunAtLoad set de llaves falsas?

Tengo un launchd plist archivo que tengo que utilizar para ejecutar un programa en un tiempo seleccionado todos los días. Funciona, pero también se ejecuta el programa cada vez que arranco el ordenador, descargar y volver a cargar el trabajo mediante la interfaz gráfica de usuario del programa de LaunchControl---aunque tengo la RunAtLoad set de llaves falsas?

La completa plist archivo está por debajo; se encuentra en /Library/LaunchAgents/:

<?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>RunAtLoad</key>
    <false/>
    <key>KeepAlive</key>
    <dict>
        <key>SuccessfulExit</key>
        <false/>
    </dict>
    <key>Label</key>
    <string>com.adbot.plist</string>
    <key>LowPriorityIO</key>
    <true/>
    <key>Program</key>
    <string>/Users/wcm1/programming/ricedh/adbot/adbot.py</string>
    <key>StandardErrorPath</key>
    <string>/tmp/com.adbot.plist.err</string>
    <key>StandardOutPath</key>
    <string>/tmp/com.adbot.plist.out</string>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>10</integer>
            <key>Minute</key>
            <integer>30</integer>
        </dict>
    </array>
</dict>
</plist>

Los pensamientos?

10voto

Steve Evans Puntos 155

Es probable que haya una interacción entre el SuccessfulExit y RunAtLoad claves. El launchd plist manual de la página se menciona una inversión se lleva a cabo si RunAtLoad se establece :

SuccessfulExit

Si es true, el trabajo será reiniciada mientras se sale del programa y con un estado de salida de cero.

Si es false, el trabajo se reanudó en la inversa de la condición. Esta clave indica que el "RunAtLoad" está establecido a true, ya que el trabajo debe ejecutarse al menos una vez antes de que podamos llegar a un estado de salida.

Otros han luchado con este comportamiento, consulte launchd ignora RunAtLoad=false.

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