博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux系统中的调度延迟任务:at 命令
阅读量:2437 次
发布时间:2019-05-10

本文共 2276 字,大约阅读时间需要 7 分钟。

linux系统中的调度延迟任务:at 命令
主要概念
at命令可以使命令稍后运行
batch命令可以让命令在机器负载较低的情况下运行
可以直接进入命令,或者以脚本形式提交命令
作业中的标准输出用邮件发送给用户
atq命令和atrm命令用来查看和删除当前的计划任务
linux的守护进程是那些在后台运行的进程,脱离控制终端,执行通常成键盘输入无关的任务.守护进程经常与
网络服务相关联,例如网页服务器(httpd)或ftp服务器(vsftpd).其他守护进程处理系统任务,例如日志守护进程(
syslogd)和电源管理守护进程(apmd).这个主要解释说明两个守护进程:一个允许用户延迟任务(atd);另一个允许
用户在固定间隔时间运行命令(crond).
守护进程像其他任何进程一样,通常作为系统启动序列的一部分被启动,或者由根用户启动.因此,除非你特意寻找
它们,否则可能一直不知道它们的存在.
[root@sidatabase /]# ps aux | grep crond
root      3204  0.0  0.0 117204  1368 ?        Ss   Aug09   0:11 crond
root     21399  0.0  0.0 103244   868 pts/0    S+   14:07   0:00 grep crond
[root@sidatabase /]# ps aux | grep atd
rpcuser   2800  0.0  0.0  23340  1204 ?        Ss   Aug09   0:00 rpc.statd
root      3215  0.0  0.0  21448   464 ?        Ss   Aug09   0:00 /usr/sbin/atd
root     21405  0.0  0.0 103244   872 pts/0    S+   14:07   0:00 grep atd
有些守护进程作为根用户运行,而有些守护进程为了安全起见,则以一个系统用户的身份运行.在上面,crond守护进程
作为根用户运行,而ntpd守护进程则作为系统用户运行,如下所示.
[root@sidatabase /]# ps aux | grep ntpd
root     26538  0.0  0.0 103240   868 ?        14:22   0:00 ntpd -u ntp:ntp -p
atd守护进程
atd守护进程允许用户提交稍后运行的作业,如"at 14:13 ".atd守护进程必须在运行时才能使用,用户可以通过查看
运行的进程列表来确定atd是否在运行.
root@sidatabase /]# ps aux | grep atd
rpcuser   2800  0.0  0.0  23340  1204 ?        Ss   Aug09   0:00 rpc.statd
root      3215  0.0  0.0  21448   548 ?        Ss   Aug09   0:00 /usr/sbin/atd
root     28604  0.0  0.0 103244   872 pts/0    S+   14:24   0:00 grep atd
在上面的输出中第七列指出了与进程相关联的终端.对用户root的grep命令而言,终端是pts/2,这可甬指的网络shell
或X会话中的图形终端.注意,atd守护进程没有相关联的终端.守护进程的一个定义特征是,它结束与启动它的终端之
间的联系.
用at命令提交作业
at命令用来向atd守护进程提交需要在特定时间运行的作业.要运行的命令可以作为脚本提交(用-f命令行选项),也可以
通过标准输入直接输入.命令的标准输出将用电子邮件的形式寄给用户
at [[-f filename] | [-m]] time
规定一天中的时间可以用HH:MM格式,后面附加"am"或"pm",也可以用"midnight","noon"和"teatime"待词语.日期也可以
用好几种格式规定,其中mm/dd/yy
例如要在14:13这个时间生成一个名叫at.txt的文件并在文件中写入"hello I am JingYong"信息
[root@sidatabase /]# echo "hello I am JingYong " > at.txt | at 14:13
job 1 at 2013-08-23 14:13
查看作业
[root@sidatabase /]# atq
1       2013-08-23 14:13 a root
删除作业
[root@sidatabase /]# atrm 1
用batch延迟任务
batch命令与at命令一样,用来延迟任务.与at命令不同的是,batch命令不在特定时间运行,而是等到系统不忙于别的
任务时运行.如果提交作业时机器不繁忙,可以立即运行作业.batch守护进程会监控系统的平均负载(load average)
等待它降到0.8以下,然后开始运行作业任务.
batch命令的语法与at命令的语法一模一样,可以用标准输入规定作业,也可以用-f命令行选项把作业作为batch文件
来提交.如果规定了时间,batch会延迟到指定的时间开始观察机器,那时,atd将开始监控系统的平均负载,并且在系统
不繁忙时运行作业.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26015009/viewspace-769149/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26015009/viewspace-769149/

你可能感兴趣的文章
GENERATING INTEGER RANDOM NUMBERS(幾種產生隨機數方法的效率分析) (转)
查看>>
什么是JAVA ? (转)
查看>>
绘制位图的问题 (转)
查看>>
程序员,你的逻辑思维有多强(一道推理题测试,不可错过) (转)
查看>>
COM应用软件开发技术 (bcd的文章) (转)
查看>>
JBuilder Editor中光标不能正确定位问题的解决 (转)
查看>>
XML加ASP实现网页“本地化” (转)
查看>>
Java中的异步网络编程 (转)
查看>>
用于核心模式驱动程序的网络体系结构(1) (转)
查看>>
More Effective C++ 条款20 (转)
查看>>
对美国政府电子安全官员宣称的所谓“GOVnet”安全网络分析 (转)
查看>>
一个程序员的爱恋 (转)
查看>>
足球战术->边锋之Decorator篇 (转)
查看>>
Coarse Grained BMP beans with Dependent Value Objects (转)
查看>>
为字符串中的网址加上链接的程序例子 (转)
查看>>
Schema-oriented message destination (转)
查看>>
用Delphi处理公历到农历的转换 (转)
查看>>
Schema Value Object (转)
查看>>
编写优质无错代码(3) (转)
查看>>
详析VC中坐标系的建立 (转)
查看>>