退出at命令的交互式输入模式
当执行at [时间]进入任务编辑界面后(如输入at 15:00):
- 正确退出方式:按
Ctrl + D(即同时按下Control和D键)。 - 效果:保存输入的命令并创建定时任务,系统返回类似提示:
job 3 at Mon Jul 1 15:00:00 2025。 - 错误操作:输入
exit或quit会被视为普通命令,导致任务执行时尝试运行这些无效指令。
删除已创建的at任务
若需取消已安排的任务:
- 查看任务ID:
atq # 显示任务列表,3 Mon Jul 1 15:00:00 2025 a username
- 删除指定任务:
atrm 3 # 删除ID为3的任务
或使用等效命令:
at -d 3
常见问题解决
- 误输入命令后中断:
若在at编辑界面输入错误命令,直接按Ctrl + D保存退出,再通过atrm删除任务。 - 任务不执行:
检查atd服务状态:sudo systemctl status atd # 确保服务运行 sudo systemctl enable --now atd # 启用服务
关键注意事项
at任务默认保存在/var/spool/at/目录,需管理员权限才能操作其他用户的任务。- 任务输出会通过邮件发送,建议命令末尾重定向输出(如:
echo "Done" > /tmp/log.txt)。 - 时间格式支持灵活写法(如
now + 2 hours、15:00 tomorrow)。
- 交互模式退出 →
Ctrl + D - 取消任务 →
atq查看ID →atrm [ID] - 服务状态 → 确保
atd服务运行
通过正确使用Ctrl + D和atrm,即可高效管理at任务,避免无效操作。
引用说明:本文内容基于Linux man-pages (at(1))及FSF官方文档,验证环境为Ubuntu 22.04/CentOS Stream 9。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6170.html