在OSX中,'at'命令是否失效?

3
'at' 是一个UNIX/BSD/Linux编程工具,我在调度一些操作预测模型时使用它。在我的Mac笔记本上测试一些脚本时,我发现at工具可以无错误地接受作业提交,并将其报告到队列中,但最终未执行。由于“at”这个名称非常普通,因此很难找到有用的答案。然而,在尝试解决此问题时,我看到了OSX El Capitan上的crontab是否损坏?。'
$ at now + one minute
echo "hello world" |say
^D
$ atq  # list at jobs...
7   Mon Mar 13 14:31:00 2017
$

值得注意的是,下面两个答案中的步骤都是必要的。更好的做法是,只需按照 @DavidSewell 的答案中的链接进行操作,该响应截至 macOS 12.2.1(Monterey)为止是完整且最新的。 - clozach
2个回答

5
在Mojave系统中,还需要将/usr/libexec/atrun添加到OS X安全与隐私设置的完全磁盘访问列表中。请参见此处的讨论和说明:使“at”在macOS上工作

3
不是默认启用的。详情请参见 man atman atrun。基于 Darwin 的系统使用 launchd 而不是 init 来调用诸如 crondatrun 等程序。
使用以下命令启动 atrun:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

或者通过修改/System/Library/LaunchDaemons/com.apple.atrun.plist文件,在以后的启动中启用它:

...
<key>Enabled</key>
...

1
请注意,在最近的 macOS 版本中,/System/Library/LaunchDaemons/com.apple.atrun.plist 位于系统的只读部分,您无法在不禁用 SIP 的情况下修改它。 - Teddy C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接