我将通过使用at命令来安排工作。在这里,我尝试了以下命令:
$ at now + 1 minute
echo 'Test at command'
<EOD>
我看到工作是通过使用-l安排的。但是,我没有看到任何回音。
我猜可能需要将用户添加到at.allow文件中。我在Mac(雪豹)中找不到at.allow。不知道我该怎么做才能在命令中对此进行测试?
/var/at
我将通过使用at命令来安排工作。在这里,我尝试了以下命令:
$ at now + 1 minute
echo 'Test at command'
<EOD>
我看到工作是通过使用-l安排的。但是,我没有看到任何回音。
我猜可能需要将用户添加到at.allow文件中。我在Mac(雪豹)中找不到at.allow。不知道我该怎么做才能在命令中对此进行测试?
/var/at
Answers:
如要启用所需的atrun
守护程序man atrun
,请执行:
launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
作为根(例如通过sudo
)。完成后,/var/at/
将成为关键目录(尽管最简单的方法是使用at
root身份,例如再次使用sudo
!-)。
/var/at/at.deny
为空,则不需要root用户即可在作业中排队,否则可以将用户名添加到/var/at/at.allow
。
在Snow Leopard中,您需要:
编辑/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
然后加载编辑后的版本
sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
测试它适用于:
echo blah | at now+1
万一回声由于其他原因而失败,您应该至少可以看到使用以下命令清除了队列:
atq
其他人则回答说在Mac OS X 上被禁用,但我对此一无所知,但是还有另一个问题:您希望echo命令在何处打印其消息?在其他Unix系统,我已经使用它并不会在你给同一个shell窗口打印的命令。请记住,运行at作业时,您甚至可能不再登录。
尝试将一些内容写入文件,然后查看该文件是否在正确的时间出现。