我如何安排脚本作业-大约每小时一次...
但是我希望即使计算机处于睡眠状态也可以运行此程序。
理想情况下也注销-但不是大问题。
谢谢。
答案 0 :(得分:0)
您的问题有几个问题:
1)您不应使用cron,而应使用launchd或在那里可用的调度程序之一。
2)如果要在用户注销后运行脚本,则需要以root用户或使用privileged helper来运行。
3)而且,在计算机处于睡眠状态时运行它是普通调度程序应用无法实现的。为此,您将必须访问Apple尚未导出供开发人员使用的API,即可以在Power Nap期间运行代码的功能。 AFAIK,只有某些Apple应用程序能够在Power Nap上运行。运行此类脚本的唯一方法是再次打开计算机电源。您可以通过注册唤醒通知来完成此操作:
func applicationDidFinishLaunching(_ aNotification: Notification) {
NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(sleepListener(_:)),name: NSWorkspace.didWakeNotification, object: nil)
}
@objc private func sleepListener(_ aNotification: Notification) {
// your code here
}