Linux怎样在某一特定时间执行命令(使用at”和“batch”)
2007-06-10 23:34
671 查看
at命令可以让你指定特定的日期和时间来运行某个程序。举个例子,我可以在每天早上七点钟开始在我的CDROM上播放音乐:
at 7:00
cdplay <CTRL><D>
在以上例子,我在命令行里输入 “at 7:00”接着按回车。接着,at命令显示一个 “at> ”的提示符,然后我输入 “cdplay”接着按回车,最后,我同时按住<CTRL>和<D>结束输入。如果我接着按回车,另外一个“at> ”提示符出现,我可以接着输入那些我希望在早上7点钟运行的程序。然后在最后输入<CTRL><D>。<CTRL><D>就象是向当前的输入送一个文件结束符合,告诉输入已经完毕。不要连续按<CTRL><D>两次,否则你就自动退出系统了。
你可以使用以下命令列出当前在任务调度表里的任务:
at –l
你可以看到那些还在任务调度表里还在等待的程序的清单。
如果你改变主意,绝对把某个程序从任务调度表里删除。举例:
atrm 8
该命令将从任务调度表里删除命令编号为8的程序
我也可以安排一个程序在稍晚一点的时间运行,比如:
at 23:55 12/31/00
startx
该命令将在新千年夜晚启动我的X-Windows系统(2000年12月31日,午夜前5分钟)。
如果你不能运行at命令,查看一下是否任务调度服务程序(atd)已经被加载(可以使用root用户运行ntsysv加载)。如果at命令对root用户有效但是对于普通用户无效,检查一下是否文件/etc/at.deny是否存在,同时,确认文件/etc/at.allow不存在。这是所有用户可以运行at命令的缺省设置。如果你想要只有指定的用户才能够运行at命令,可以生成文件/etc/at.allow并且把用户的名单加到文件里。
对于at命令其他的可选项,运行
man at
当系统载荷很低的时候,如果你希望在后台运行一个“处理器饥渴型”的任务,你可以选择使用batch命令。举例,我可以运行setiathome(一个数据分析程序用来帮助寻找外部智能生命,SETI):
batch
at>setiathome <CTRL><D>
在以上例子里,我在命令行输入batch然后回车,在“at>”命令提示符下,我输入想要在后台运行的程序名称。程序试图立刻运行,但是其实会等到系统载荷小于0.8的时候才会开始运行。你可以通过检查虚拟文件/proc/loadavg来检查系统载荷:
cat /proc/loadavg
当批命令完成后,输出结果将会以电子邮件的方式送到我的信箱
at 7:00
cdplay <CTRL><D>
在以上例子,我在命令行里输入 “at 7:00”接着按回车。接着,at命令显示一个 “at> ”的提示符,然后我输入 “cdplay”接着按回车,最后,我同时按住<CTRL>和<D>结束输入。如果我接着按回车,另外一个“at> ”提示符出现,我可以接着输入那些我希望在早上7点钟运行的程序。然后在最后输入<CTRL><D>。<CTRL><D>就象是向当前的输入送一个文件结束符合,告诉输入已经完毕。不要连续按<CTRL><D>两次,否则你就自动退出系统了。
你可以使用以下命令列出当前在任务调度表里的任务:
at –l
你可以看到那些还在任务调度表里还在等待的程序的清单。
如果你改变主意,绝对把某个程序从任务调度表里删除。举例:
atrm 8
该命令将从任务调度表里删除命令编号为8的程序
我也可以安排一个程序在稍晚一点的时间运行,比如:
at 23:55 12/31/00
startx
该命令将在新千年夜晚启动我的X-Windows系统(2000年12月31日,午夜前5分钟)。
如果你不能运行at命令,查看一下是否任务调度服务程序(atd)已经被加载(可以使用root用户运行ntsysv加载)。如果at命令对root用户有效但是对于普通用户无效,检查一下是否文件/etc/at.deny是否存在,同时,确认文件/etc/at.allow不存在。这是所有用户可以运行at命令的缺省设置。如果你想要只有指定的用户才能够运行at命令,可以生成文件/etc/at.allow并且把用户的名单加到文件里。
对于at命令其他的可选项,运行
man at
当系统载荷很低的时候,如果你希望在后台运行一个“处理器饥渴型”的任务,你可以选择使用batch命令。举例,我可以运行setiathome(一个数据分析程序用来帮助寻找外部智能生命,SETI):
batch
at>setiathome <CTRL><D>
在以上例子里,我在命令行输入batch然后回车,在“at>”命令提示符下,我输入想要在后台运行的程序名称。程序试图立刻运行,但是其实会等到系统载荷小于0.8的时候才会开始运行。你可以通过检查虚拟文件/proc/loadavg来检查系统载荷:
cat /proc/loadavg
当批命令完成后,输出结果将会以电子邮件的方式送到我的信箱
相关文章推荐
- Linux系统使用time计算命令执行的时间
- linux下命令执行时间统计工具time使用小结
- linux下命令执行时间统计工具time使用小结
- linux使用time命令获取命令执行时间
- at命令_Linux at 命令用法详解:在指定时间执行一个任务
- linux 定时执行任务 at atq atrm命令的使用
- [linux命令] 在某指定时间执行命令 at
- linux 操作系统中检查特定用户上次登录的时间lastlog命令的使用
- Linux使用time命令获取命令执行时间
- [fw]Linux系统使用time计算命令执行的时间
- Linux 命令 - at: 在指定的时间执行任务
- linux使用time命令获取命令执行时间
- Linux系统使用time计算命令执行的时间
- Linux使用Cron+AT实现在某个确定的时间段内随机执行命令
- Linux下使用timedatectl命令时间时区操作详解
- 【转载】Linux下的at定时执行任务命令详解
- mac terminal下无法使用 at 命令 - unix/linux
- Linux(一)--rht-vmctl命令/Linux中的帮助使用/Linux中如何执行命令/Linux系统结构/利用通配符批量管理文件
- 如何在Linux中的特定时间运行命令
- Linux下使用SSH非交互式远程执行命令脚本---ssh无密码登陆