launchd 是否应该接收“错过的”事件?

Sam*_*Axe 7 launchd osx-mountain-lion macos

我读到如果在发生 launchd 事件时计算机处于睡眠状态,则 launchd 将在计算机唤醒时运行该事件。

我的问题是关于已关闭的计算机。如果在发生 launchd 事件时机器断电,launchd 是否应该在下一次开机时运行它?

我问是因为我创建了一个事件(代理?),每天上午 09:45 运行。但通常在那个时候机器是断电的。打开计算机电源后,我没有看到事件的输出(正在发送电子邮件)。所以我试图缩小范围,如果这是设计行为还是我搞砸了什么。

Lri*_*Lri 9

它仅限于在睡眠期间(不是在关闭时)和由 StartCalendarInterval 参数(不是 StartInterval)安排的作业。

守护进程和服务编程指南:调度定时作业

如果您launchd通过设置StartCalendarInterval键来安排作业,并且在作业应该运行时计算机处于休眠状态,则您的作业将在计算机唤醒时运行。但是,如果在作业本应运行时机器关闭,则作业在下一个指定时间发生之前不会执行。

launchd计算机关闭或休眠时跳过所有其他作业;直到下一个指定时间发生时,它们才会运行。