有人能帮我重置“at”命令计数器吗?假设我有 1000 个“at”作业,那么我需要重置“at”命令计数器,以便它回到零,并且不会增加到很高的数字?
答案1
at 计数器为十六进制,计数 5 位数字,因此最大计数为 1048574 (ffffe)。达到最大计数后,计数器自动重置为 0。
您可以通过将文件更改为 00000 来手动重置计数器/var/spool/at/.SEQ
。但如果您确实想手动重置计数器,我建议您在执行此操作之前删除队列中所有待处理的作业。
答案2
您可以使用以下命令检查当前计数器:
echo "ibase=16; $(cat /var/spool/cron/atjobs/.SEQ | tr '[:lower:]' '[:upper:]')" | bc
要重置它,只需将十六进制值更改为零并重新启动at
守护进程:
printf '%04x' 0 > /var/spool/cron/atjobs/.SEQ
systemctl restart atd