我在我的机器上使用 WSL(ubuntu 20.04)。今天我了解了该at
命令,它可用于调度作业。我尝试在 WSL 上使用它,但作业虽然时间到了,却没有被触发。
我们不能在 WSL 上使用这个命令吗?
如果可以,那么问题是什么?
谢谢。
答案1
与 一样cron
,该atd
服务在 WSL 上默认不启动:
$ at now + 1 minute
warning: commands will be executed using /bin/sh
at> echo "Hello from at" > ~/at.log
at> <EOT>
job 1 at Thu Apr 7 08:02:00 2022
Can't open /var/run/atd.pid to signal atd. No atd running?
$ service atd status
* atd is not running
但如果你愿意,也可以开始:
$ sudo service atd start
[sudo] password for steeldriver:
* Starting deferred execution scheduler atd [ OK ]
然后
$ at now + 1 minute
warning: commands will be executed using /bin/sh
at> echo "Hello from at" > $HOME/at.log
at> <EOT>
job 2 at Thu Apr 7 08:03:00 2022
$ atq
2 Thu Apr 7 08:03:00 2022 a steeldriver
$ atq
(队列现在为空)
$ cat ~/at.log
Hello from at