我将使用 at 命令来安排作业。在这里,我尝试了以下命令:
$ at now + 1 minute
echo 'Test at command'
<EOD>
Run Code Online (Sandbox Code Playgroud)
我看到作业是通过使用 -l 来安排的。但是,我没有看到回声。
我想我可能需要将用户添加到 at.allow 文件。我在我的 Mac (Snow Leopard) 中找不到 at.allow。不确定我需要做什么来测试这个命令?
Ale*_*lli 44
要启用所需的atrun
守护程序,man atrun
如上所述,请执行:
launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
Run Code Online (Sandbox Code Playgroud)
作为根(例如通过sudo
)。一旦你这样做了,/var/at/
将是关键目录(尽管最简单的方法是at
作为 root使用——例如,再次使用sudo
!-)。
unh*_*rs1 13
在雪豹中,您需要:
编辑/System/Library/LaunchDaemons/com.apple.atrun.plist
,从true
->更改禁用的子节点false
。
卸载电流/System/Library/LaunchDaemons/com.apple.atrun.plist
:
sudo launchctl unload -F /System/Library/LaunchDaemons/com.apple.atrun.plist
Run Code Online (Sandbox Code Playgroud)
然后加载编辑后的版本
sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
Run Code Online (Sandbox Code Playgroud)测试它是否适用于:
echo blah | at now+1
Run Code Online (Sandbox Code Playgroud)如果回声因其他原因失败,您至少应该能够看到队列被清除:
atq
Run Code Online (Sandbox Code Playgroud)小智 5
我在 OS X Lion 上尝试过这个,它似乎有效。
首先启用atrun
守护进程:
launchctl load -w
/System/Library/LaunchDaemons/com.apple.atrun.plist
Run Code Online (Sandbox Code Playgroud)
然后将 [您的用户名] 添加到/var/at/at.allow
.
执行时,您将在以下位置收到输出 /var/mail/[your username]
我发现排队的项目batch
需要几分钟才能实际执行。