退出(删除)at任务的步骤
查看当前at任务队列
使用 atq
或 at -l
命令列出所有待执行任务,获取任务的唯一ID(位于第一列):
atq # 示例输出: # 10 Thu Jul 11 14:30:00 2025 a root # 15 Fri Jul 12 10:00:00 2025 a user1
- 关键信息:记录需删除任务的ID(如
10
或15
)。
删除指定任务
使用 atrm [任务ID]
或 at -r [任务ID]
删除任务:
atrm 10 # 删除ID为10的任务 at -r 15 # 删除ID为15的任务(等效于atrm)
- 权限要求:仅任务所有者或root用户可删除任务。
- 验证结果:再次运行
atq
确认任务已从队列消失。
批量删除所有任务(谨慎操作)
- 删除当前用户的所有任务:
atq | awk '{print $1}' | xargs atrm
- root用户删除所有用户的任务:
sudo atq | awk '{print $1}' | xargs sudo atrm
注意事项
- 执行中的任务无法终止
at
任务一旦开始执行,无法通过atrm
终止,需使用kill
命令结束相关进程(需先通过ps aux | grep 命令关键词
查找进程ID)。 - 任务状态
- 任务在计划时间前可随时删除。
- 任务执行后会自动从队列移除,无需手动操作。
- 权限限制
普通用户仅能删除自己的任务,root用户可管理所有任务,若操作无响应,检查权限或使用sudo
。
- 核心命令:
atq
(查看任务) → 记录ID →atrm [ID]
(删除任务)。 - 关键原则:
及时清理无需执行的任务,避免资源浪费;操作前务必确认任务ID,防止误删。
引用说明基于Linux man-pages的
at
命令文档(查看原文)及GNU Coreutils实践指南,确保操作准确性与安全性。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9875.html