launchd ejecuta el programa cada hora a pesar de que se proporciona la matriz StartCalendarInterval

2

Tengo mi conjunto de StartCalendarInterval en mi archivo de lanzamiento plist de esta manera:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>local.script.launcher</string>

        <key>Program</key>
        <string>/usr/bin/osascript</string>

        <key>ProgramArguments</key>
        <array>
            <string>osascript</string>
            <string>/Users/me/basic-script.scpt</string>
        </array>

        <key>StartCalendarInterval</key>
        <array>
            <dict>
                <key>Hour</key>
                <integer>8</integer>
                <key>Minute</key>
                <integer>0</integer>
            </dict>
            <dict>
                <key>Hour</key>
                <integer>16</integer>
                <key>Minute</key>
                <integer>0</integer>
            </dict>
            <dict>
                <key>Hour</key>
                <integer>24</integer>
                <key>Minute</key>
                <integer>0</integer>
            </dict>
        </array>
    </dict>
</plist>

Aunque estoy declarando 3 StartCalendarInterval s diferentes, el agente todavía ejecuta el programa cada hora.

¿Qué estoy haciendo mal?

.

SOLUCIÓN:

Según @ Phong's answer , para los archivos launchd plist y StartCalendarInterval , medianoche, 12AM, o 2400 horas el tiempo militar es Hour = 0 no 24 .

    
pregunta Andre Bulatov 08.08.2016 - 06:20

1 respuesta

3

launchd está descartando 24 como un valor Hora no válido, interpretando así toda la entrada como Minuto = 0 . Esto hace que su agente se ejecute cada hora en el punto.

El valor correcto para la medianoche es 0 :

<dict>
    <key>Hour</key>
    <integer>0</integer>

    <key>Minute</key>
    <integer>0</integer>
</dict>
    
respondido por el user11633 09.08.2016 - 01:28

Lea otras preguntas en las etiquetas