分享
 
 
 

《LINUX与UNIX_Shell编程指南》读书笔记第3章后台执行命令

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

本章

关键名词解释:

cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月

中的不同时段运行。

At at命令。使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时

间段或高峰负荷时间段运行。

& 使用它在后台运行一个占用时间不长的进程。

Nohup 使用它在后台运行一个命令,即使在用户退出时也不受影响。

crontab的域

第1列分钟1~5 9

第2列小时1~2 3(0表示子夜)

第3列日1~3 1

第4列月1~1 2

第5列星期0~6(0表示星期天)

第6列要运行的命令

下面是c r o n t a b的格式:

分< >时< >日< >月< >星期< >要运行的命令

其中< >表示空格。

C r o n t a b文件的一个条目是从左边读起的,第一列是分,最后一列是要运行的命令,它位

于星期的后面。

在这些域中,可以用横杠-来表示一个时间范围,例如你希望星期一至星期五运行某个作

业,那么可以在星期域使用1 - 5来表示。还可以在这些域中使用逗号“,”,例如你希望星期一

和星期四运行某个作业,只需要使用1 , 4来表示。可以用星号*来表示连续的时间段。如果你

对某个表示时间的域没有特别的限定,也应该在该域填入*。该文件的每一个条目必须含有5

个时间域,而且每个域之间要用空格分隔。该文件中所有的注释行要在行首用#来表示。

当使用c r o n t a b运行s h e l l脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向c r o n提交了这些作业,就要向c r o n提供所需的全部环境。不要假定c r o n知道所需要的特殊环境,它其实并不知道。所以你要保证在s h e l l脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。

c r o n t a b命令的一般形式为:

Crontab [-u user] -e -l -r

其中:

-u 用户名。

-e 编辑c r o n t a b文件。

-l 列出c r o n t a b文件中的内容。

-r 删除c r o n t a b文件。

at命令

a t命令允许用户向c r o n守护进程提交作业,使其在稍后的时间运行。这里稍后的时间可能

是指1 0 m i n以后,也可能是指几天以后。如果你希望在一个月或更长的时间以后运行,最好还

是使用c r o n t a b文件。

一旦一个作业被提交, a t命令将会保留所有当前的环境变量,包括路径,不象c r o n t a b,

只提供缺省的环境。该作业的所有输出都将以电子邮件的形式发送给用户,除非你对其输出

进行了重定向,绝大多数情况下是重定向到某个文件中。

a t命令的基本形式为:

at [-f script] [-m -l -r] [time] [date]

其中,

-f script 是所要提交的脚本或命令。

-l 列出当前所有等待运行的作业。a t q命令具有相同的作用。

-r 清除作业。为了清除某个作业,还要提供相应的作业标识( I D);有些U N I X变体只

接受a t r m作为清除命令。

-m 作业完成后给用户发邮件。

time at命令的时间格式非常灵活;可以是H、H H . H H M M、H H : M M或H : M,其中H和M

分别是小时和分钟。还可以使用a . m .或p . m .。

date 日期格式可以是月份数或日期数,而且a t命令还能够识别诸如t o d a y、t o m o r r o w这样

的词。

使用a t命令提交作业有几种不同的形式,命令行方式,a t命令提示符。一般来说在提交若干行的系统命令时,我使用a t命令提示符方式,而在提交s h e l l脚本时,使用命令行方式。如果你想提交若干行的命令,可以在a t命令后面跟上日期/时间并回车。然后就进入了a t命

令提示符,这时只需逐条输入相应的命令,然后按‘ < C T R L - D >’退出。

3 &命令

当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。

第3章后台执行命令27

下载

可以使用&命令把作业放到后台执行。

该命令的一般形式为:

命令&

为什么要在后台执行命令?因为当在后台执行命令时,可以继续使用你的终端做其他事情。适合在后台运行的命令有f i n d、费时的打印作业、费时的排序及一些s h e l l脚本。在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那傻

等。

不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:

command >out.file 2>&1 &

在上面的例子中,所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。

3.3.2 用ps命令查看进程

用p s命令和g r e p命令列出这个进程

kill 杀死进程

3.4 nohup命令

如果你正在运行一个进

h u p命令。该命令可以在你

hang up)。

该命令的一般形式为:

nohup command &

创建一个定时清理日志文件或完成其他特殊工作的脚本,这样只要提交一次,就可以每

天晚上运行,而且无需你干预,只要看看相应的脚本日志就可以了。C r o n和其他工具可以使

系统管理任务变得更轻松。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有