Linux at任务调度机制

简介: 1.at简介at命令是一次性定时计划任务执行要想使用 at 命令,读者需提前安装好 at 软件包,并开启 atd 服务。如何检查系统开启atd服务?很简单,通过如下命令即可:如下表示atd进程处在运行状态:🙌



1.at简介


执行计划任务at命令是一次性定时要想使用 at 命令,读者需提前安装好 at 软件包,并开启 atd 服务。如何检查系统开启atd服务?很简单,通过如下命令即可:如下表示atd进程处在运行状态:🙌


┌──(root㉿kali)-[~/Desktop]
└─# ps -ef | grep atd
daemon     10928       1  0 10:22 ?        00:00:00 /usr/sbin/atd -f
root       12948    8215  0 10:25 pts/1    00:00:00 grep --color=auto atd


at命令每隔60秒检查一次系统中的job任务,如果有待执行的任务,则执行它,这个任务是一次性执行的,不会反复执行


2.at命令的基本使用语法


at 命令的格式非常简单,基本格式如下:


[root@localhost ~] # at [选项] [时间]


接下来介绍一下有关此命令常用的几个选项及各自含义: 🤷‍♀️


选项

介绍

-m

当 at 工作完成后,无论命令是否输出,都用 E-mail 通知执行 at 命令的用户

-c

工作标识号 显示该 at 工作的实际内容

-t

时间 在指定时间提交工作并执行,时间格式为 [[CC]YY]MMDDhhmm

-d

删除某个工作,需要提供相应的工作标识号(ID),同 atrm 命令的作用相同

-l

列出当前所有等待运行的工作,和 atq 命令具有相同的额作用

-f

脚本文件 指定所要提交的脚本文件

at 命令时间参数可用格式: 🤷‍♂️


格式

用法

HH:MM

比如 04:00 AM。如果时间已过,则它会在第二天的同一时间执行
Midnight 代表 12:00 AM(也就是 00:00)
Noon 代表 12:00 PM(相当于 12:00)
Teatime 代表 4:00 PM(相当于 16:00)
指定具体日期 例如:04:00 2021-12-1
相对计时法,now+时间 以 minutes、hours、days 或 weeks 为单位,例如 now+5 days 表示命令在 5 天之后的此时此刻执行


3.at使用案例解析


2分钟后,输出时间到指定的文件内:

输入命令如下:


┌──(root💀kali)-[~]
└─# at now + 2 minutes                                                                                                                   1 ⨯
warning: commands will be executed using /bin/sh
at Wed Sep 21 05:36:00 2022
at> date > dahe/temp/index.txt


接着需要按住Ctrl +D退出at指令,保存任务到job队列中

可以使用atq命令查看当前待执行的job队列:


┌──(root💀kali)-[~]
└─# atq               
1       Wed Sep 21 05:36:00 2022 a root


等待两分钟后,进入指定的目录,可以看到,定时任务已经成功执行啦!


┌──(root💀kali)-[~/dahe/temp]
└─# cat index.txt            
Wed Sep 21 05:36:00 AM EDT 2022


如果想要删除已经设置的定时任务,使用atrm指令即可,例如:


┌──(root💀kali)-[~]
└─# atq                
2       Wed Sep 21 05:49:00 2022 a root
┌──(root💀kali)-[~]
└─# atrm 2
┌──(root💀kali)-[~]
└─# atq



目录
相关文章
|
1月前
|
消息中间件 Unix Linux
Linux进程间通信(IPC)介绍:详细解析IPC的执行流程、状态和通信机制
Linux进程间通信(IPC)介绍:详细解析IPC的执行流程、状态和通信机制
48 1
|
4月前
|
存储 缓存 Linux
哇~~真的是你呀!今天是LInux安装方法和systemd管理机制。
Linux服务安装和systemd管理机制是Linux操作系统中重要的服务管理机制。systemd是Linux下一种基本的系统服务管理器,负责管理Linux中的各种服务,如进程管理、启动和停止服务、日志记录、挂载文件系统等等。在systemd中,每个服务都以一个Unit的形式存在,Unit定义了该服务相关的一些属性,如服务名称、启动脚本的路径、依赖关系等。
82 0
哇~~真的是你呀!今天是LInux安装方法和systemd管理机制。
|
3月前
|
存储 Linux Shell
Linux中的计划任务—Crontab调度一次性执行的任务at/batch
Linux中的计划任务—Crontab调度一次性执行的任务at/batch
125 0
|
1月前
|
资源调度 算法 Linux
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
66 0
|
6天前
|
算法 Linux 调度
深入理解Linux内核的进程调度机制
【4月更文挑战第17天】在多任务操作系统中,进程调度是核心功能之一,它决定了处理机资源的分配。本文旨在剖析Linux操作系统内核的进程调度机制,详细讨论其调度策略、调度算法及实现原理,并探讨了其对系统性能的影响。通过分析CFS(完全公平调度器)和实时调度策略,揭示了Linux如何在保证响应速度与公平性之间取得平衡。文章还将评估最新的调度技术趋势,如容器化和云计算环境下的调度优化。
|
11天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
20 3
|
26天前
|
Linux Shell 调度
linux脚本任务调度
Linux的`crontab`用于计划任务,按照预设时间执行脚本或命令。步骤包括:1) 创建并赋予执行权限的脚本,如`backup.sh`;2) 使用`crontab -e`编辑任务列表;3) 添加cron表达式(如`0 1 * * * /path/to/backup.sh`,表示每天凌晨1点执行脚本);4) 保存并启动/检查cron服务。cron表达式包含分钟、小时、日期、月份和周几字段。根据需求调整表达式以满足不同任务需求。
12 3
|
28天前
|
监控 算法 Unix
【Linux 异步操作】深入理解 Linux 异步通知机制:原理、应用与实例解析
【Linux 异步操作】深入理解 Linux 异步通知机制:原理、应用与实例解析
59 0
|
28天前
|
开发框架 算法 Linux
【知识点回顾 】Qt信号槽与Linux信号处理 的处理机制 深入探讨
【知识点回顾 】Qt信号槽与Linux信号处理 的处理机制 深入探讨
33 0
|
存储 监控 安全
深度剖析Linux进程的内部机制:一探/proc/pid的奥秘
深度剖析Linux进程的内部机制:一探/proc/pid的奥秘
82 0