I've read the launchd.plist
man page, Is launchd supposed to pick up "missed" events?, and launchd seems ignore StartCalendarInterval on Yosemite but none of those have allowed me to diagnose why my launchd task is not running.
I have a task scheduled to run every day at 10:35, often my laptop is asleep then and so the task should be started when the laptop wakes in those cases (and run normally when the laptop was awake).
What I actually see is that the task rarely runs on its own and I consistently have to run it with launchctl start com.arewesmallyet.update
, though it runs fine (once) when I do so.
launchctl list | fgrep -i arewe
gives:
- 0 com.arewesmallyet.update
The output of launchctl print gui/501/com.arewesmallyet.update
is:
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
}
}