如何删除已安排的Linux at任务?

退出(删除)at任务的步骤

查看当前at任务队列

使用 atqat -l 命令列出所有待执行任务,获取任务的唯一ID(位于第一列):

   atq
   # 示例输出:
   # 10   Thu Jul 11 14:30:00 2025 a root
   # 15   Fri Jul 12 10:00:00 2025 a user1
  • 关键信息:记录需删除任务的ID(如 1015)。

删除指定任务

使用 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

注意事项

  1. 执行中的任务无法终止
    at 任务一旦开始执行,无法通过 atrm 终止,需使用 kill 命令结束相关进程(需先通过 ps aux | grep 命令关键词 查找进程ID)。
  2. 任务状态
    • 任务在计划时间前可随时删除。
    • 任务执行后会自动从队列移除,无需手动操作。
  3. 权限限制
    普通用户仅能删除自己的任务,root用户可管理所有任务,若操作无响应,检查权限或使用 sudo

  • 核心命令
    atq(查看任务) → 记录ID → atrm [ID](删除任务)。
  • 关键原则
    及时清理无需执行的任务,避免资源浪费;操作前务必确认任务ID,防止误删。

引用说明基于Linux man-pages的 at 命令文档(查看原文)及GNU Coreutils实践指南,确保操作准确性与安全性。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9875.html

(0)
酷番叔酷番叔
上一篇 2025年8月7日 15:35
下一篇 2025年8月7日 16:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信