Como posso diagnosticar por que minha tarefa launchd não está sendo executada na programação?

5

Eu li a página launchd.plist man, É lançada deveria pegar eventos "perdidos"? e launchd parece ignorar StartCalendarInterval em Yosemite mas nenhum deles me permitiu diagnosticar por que minha tarefa launchd não está sendo executada.

Eu tenho uma tarefa programada para ser executada todos os dias às 10h35, geralmente meu laptop está dormindo e então a tarefa deve ser iniciada quando o laptop despertar nesses casos (e funcionar normalmente quando o laptop estiver acordado).

O que eu realmente vejo é que a tarefa raramente é executada por conta própria e eu sempre tenho que executá-la com launchctl start com.arewesmallyet.update , embora ela funcione bem (uma vez) quando eu faço isso.

launchctl list | fgrep -i arewe dá:

-   0   com.arewesmallyet.update

A saída de launchctl print gui/501/com.arewesmallyet.update é:

com.arewesmallyet.update = {
    active count = 0
    path = /Users/camdennarzt/Developer/Bash/dot-files/Library/LaunchAgents/com.arewesmallyet.update.plist
    state = waiting

    program = /Users/camdennarzt/Developer/Ruby/script.sh
    arguments = {
        /Users/camdennarzt/Developer/Ruby/script.sh
    }

    working directory = /Users/camdennarzt/Developer/Ruby/arewesmallyet

    stdout path = /Users/camdennarzt/Developer/Ruby/arewesmallyet/log/update.log
    stderr path = /Users/camdennarzt/Developer/Ruby/arewesmallyet/log/update_err.log
    global environment = {
        PATH => /usr/bin:/bin:/usr/sbin:/sbin
    }

    inherited environment = {
        DISPLAY => /private/tmp/com.apple.launchd.8iIoQIK3yn/org.macosforge.xquartz:0
        SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.YUM1kEhk5R/Listeners
        Apple_PubSub_Socket_Render => /private/tmp/com.apple.launchd.flahy7F91R/Render
    }

    environment = {
        XPC_SERVICE_NAME => com.arewesmallyet.update
    }

    domain = com.apple.xpc.launchd.user.501.100006.Aqua
    asid = 100006
    minimum runtime = 10
    exit timeout = 5
    runs = 3
    successive crashes = 0
    excessive crashing = 0
    last exit code = 0

    event triggers = {
        com.arewesmallyet.update.268435473 => {
            state = 0
            service = com.arewesmallyet.update
            stream = com.apple.launchd.calendarinterval.501
            monitor = com.apple.UserEventAgent-Aqua
            descriptor = {
                "Minute" => 35
                "Hour" => 10
            }
        }
    }

    endpoints = {
    }

    dynamic endpoints = {
    }

    pid-local endpoints = {
    }

    instance-specific endpoints = {
    }

    event channels = {
        "com.apple.launchd.calendarinterval" = {
            port = 0x4991b
            active = 0
            managed = 1
            reset = 0
            hide = 0
        }
    }

    sockets = {
    }

    spawn type = daemon

    properties = {
        partial import = 0
        launchd bundle = 0
        xpc bundle = 0
        keepalive = 0
        runatload = 0
        dirty at shutdown = 0
        low priority i/o = 0
        low priority background i/o = 0
        legacy timer behavior = 0
        exception handler = 0
        multiple instances = 0
        supports transactions = 0
        supports pressured exit = 0
        enter kdp before kill = 0
        wait for debugger = 0
        app = 0
        system app = 0
        creates session = 0
        inetd-compatible = 0
        inetd listener = 0
        abandon process group = 0
        one-shot = 0
        requires reap = 0
        event monitor = 0
        penalty box = 0
        pended non-demand spawn = 0
        role account = 0
        launch only once = 0
        system support = 0
        app-like = 0
        inferred program = 1
        joins gui session = 0
        joins host session = 0
        parameterized sandbox = 0
        resolve program = 0
        abandon coalition = 0
        extension = 0
        nano allocator = 0
        no initgroups = 0
        start on fs mount = 0
    }
}
    
por Camden Narzt 06.03.2015 / 00:25

0 respostas