at (Unix)
在类Unix 操作系统上,at
命令用于在当前系统时间后的某个时刻,执行某个命令一次。更确切的说,at
命令从标准输入读取一系列命令,把它们收集成一个计划任务,在此后的某个时刻执行。这个任务仍使用当前的环境,并在与计划制定时相同的工作目录和环境变量里执行。
它和cron
不同,后者用于定期运行,比如每个小时、每天、每个礼拜三或每年的某个日子执行。但和cron
相似,许多Unix系统的管理员会限制at
命令的使用。
at
可用于在用户的计划任务完成后发送电子邮件进行通知,可以执行多个排队的任务,也可以从文件而非标准输入读取一系列任务来执行。比如,可以使用以下命令,在一月十四日上午11:45编译一个C语言程序:
$ echo "cc -o foo foo.c" | at 1145 jan 14
或
$ at 1145 jan 14
at> cc -o foo foo.c
at> ^D #(光标在行首时使用Control-D退出任务编辑状态)
atq
命令列出当前队列里的任务,atrm
命令则从队列里删除任务:
$ atq
1234 2011-08-12 11:45 cc -o foo foo.c user
$ atrm 1234
$ atq
$
某些类Unix操作系统使用守护进程atd
在后台定期检查任务列表,以在计划的时刻执行at
命令的任务。
batch
命令可代替at
命令,在系统负载低于指定值的时候执行任务。
Windows NT/2000/XP/7也有一个类似cron
的at
命令,但已逐渐被计划任务代替。
参见
- cron,定期执行指定任务
- systemd,集成了
atd
- Launchd,Mac OS上的
at
命令替代 - Unix实用程序列表
外部链接
- : 在将来某时刻执行命令 – 命令与工具(Commands & Utilities)参考,单一UNIX®规范第7期,由國際開放標準組織发布
- : 列队、检查或删除任务以待执行 – 参考,单一UNIX®规范第7期,由國際開放標準組織发布
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.