了解 at 命令以安排另一个命令

了解 at 命令以安排另一个命令

我使用 cron 在 Linux 中安排事务,但最近我发现了“at”命令。

sudo apt-get install at

我不明白这个命令的运行范围:

  • 如何使用 at 来安排通常需要管理员权限的命令?
  • 使用 at 调度的命令的工作目录 (pwd) 是什么?

此外,到目前为止我尝试过的所有方法都没有实现我想要的效果。

例如,我尝试在一分钟后启动 gedit:

echo "gedit" | at now + 1 minute

我等了一分钟,什么也没发生。

我试图在一分钟后关闭我的显示器:

echo "xset dpms force off" | at now + 1 minute

我等了一分钟,什么也没发生。

如果我无法让“at”在一分钟后可靠地执行一项任务,我如何确定它会在明天及以后执行我告诉它做的事情?

我在这里遗漏了什么?

答案1

请尝试:

~$  at now + 1 minute
at> ls -ahl > /tmp/at_test
at> ^D

/tmp/at_test命令执行后你将会发现。

如果你想运行一些 GUI 应用程序,你应该指定DISPLAY变量;用来echo $DISPLAY找出你显示的

~$  at now + 1 minute
at> DISPLAY=:0 gedit
at> ^D

管道也可以:

echo "DISPLAY=:0 gedit" | at now + 1 minute

相关内容