计划与前台进程命令(十四)

计划命令:crontab,at,&

前台进程:job,fg,bg,nohup


14.1.crontab

功能:类似于windows计划任务的一个命令,功能非常强大

语法:crontab [-u user] file

crontab [-u user] [-l | -r | -e] [-i] [-s]

常用选项:

-u:用户名,只有root用户才能进行任务,创建、修改、删除

-e:编辑crontab文件

-l:查看crontab文件内容

-r:删除crontab文件

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的格式:

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

其中< >表示空格。

示例:

30 21* * * /apps/bin/cleanup.sh
说明:表示每晚的2 1 : 3 0运行/apps/bin/cleanup.sh
45 4 1,10,22 * * /apps/bin/backup.sh
说明:表示每月1、10、22日4:45运行/apps/bin/backup.sh
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;
说明:表示每周六、周日的1 : 1 0运行一个find命令
0,30 18-23 * * * /apps/bin/dbcheck.sh
说明:表示在每天1 8 : 0 0至2 3 : 0 0之间每隔3 0分钟运行/apps/bin/dbcheck.sh
0 23 * * 6 /apps/bin/qtrend.sh
说明:表示每星期六的23点运行 /apps/bin/qtrend.sh

14.2.at

功能:crontab实现的是定时执行任务,特定任务运行一次,就需要用到at

语法: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这样的词。

示例:

1、提示符方式

# su sam
$ at 10:40
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> find /etc -name "passwd" -print
at> <EOT>
job 1 at 2004-11-02 10:40
 
说明:< E O T >就是< C T R L - D >。在10:40系统将执行一个简单的f i n d命令。提交的任务被分配了一个唯一标识job 1。该命令在完成以后会将全部结果以邮件的形式发送给我。
 
下面这些日期/时间格式都是a t命令可以接受的:
at 5.00am May23
at 11.20pm
at now +2 hour
at 9am tomorrow
at 15:00 May24
at now + 10 minutes

2、命令行方式

如果希望向a t命令提交一个s h e l l脚本,使用其命令行方式即可。在提交脚本时使用- f选项。

如:

$ touch db_table.sh
$ at 3:00pm tomorrow -f db_table.sh
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
job 3 at 2004-11-02 15:00
 
d b _ t a b l e . s h的脚本将在2004-11-02 15:00运行

3、还可以使用e c h o命令向a t命令提交任务

$ echo find /etc -name "passwd" -print | at now +1 minute

warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh

job 4 at 2004-11-01 19:07

列出所提交的任务

一个任务被提交后,可以使用at -l命令来列出所有的任务:

$ at -l

1       2004-11-02 10:40 a sam

3       2004-11-02 15:00 a sam

4       2004-11-01 19:07 a sam

其中,第一行是任务标识,后面是任务运行的日期/时间。最后一列a代表a t。

还可以使用a t q命令来完成同样的功能,它是a t命令的一个链接。

直接>atq,相当于>at -l

当提交一个任务后,它就被拷贝到/ v a r / s p o o l / a t目录中,准备在要求的时间运行。

# pwd

/var/spool/at

# ls -l

清除一个任务

清除任务的命令格式为:

atrm [job no] 或at -r [job no]

要清除某个任务,首先要执行at -l命令,以获取相应的任务标识,然后对该任务标识使用at -r 命令,清除该任务。

$ at -l

1       2004-11-02 10:40 a sam

3       2004-11-02 15:00 a sam

4       2004-11-01 19:07 a sam

$at -r 3

$at -l

1       2004-11-02 10:40 a sam

4       2004-11-01 19:07 a sam

有些系统使用at-r [job no]命令清除任务。

14.3.&

功能:放入后台执行

示例:

查找名为“httpd.conf”的文件,并把所有标准输出和错误输出重定向到f i n d . d t的文件中:

# find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &

[2] 7832

[1]   Done                    find /etc/ -name "httpd.conf" -print >find.dt 2>&1 &

成功提交该命令之后,系统给出了它的进程号7832。

14.4.nohup命令

功能:把当前命令行运行的进程放到后台,以至于退出窗口进程不会退出。

语法: nohup command &

示例:

14.5.

功能:

A,Shell支持作用控制,有以下命令:

1. command& 让进程在后台运行

2. jobs 查看后台运行的进程

3. fg %n 让后台运行的进程n到前台来

4. bg %n 让进程n到后台去;

PS:"n"为jobs查看到的进程编号.

总结:

fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的

一。& 最经常被用到

这个用在一个命令的最后,可以把这个命令放到后台执行

二。ctrl + z

可以将一个正在前台执行的命令放到后台,并且暂停

三。jobs

查看当前有多少在后台运行的命令

四。fg

将后台中的命令调至前台继续运行

如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

五。bg

将一个在后台暂停的命令,变成继续执行

如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

#Linux下使用Shell命令控制任务Jobs执行

下列命令可以用来操纵进程任务:

ps 列出系统中正在运行的进程;

kill 发送信号给一个或多个进程(经常用来杀死一个进程);

jobs 列出当前shell环境中已启动的任务状态,若未指定jobsid,则显示所有活动的任务状态信息;如果报告了一个任务的终止(即任务的状态被标记为Terminated),shell 从当前的shell环境已知的列表中删除任务的进程标识;

bg 将进程搬到后台运行(Background);

fg 将进程搬到前台运行(Foreground);

11.35 nohup

功能:运行命令,忽略所有挂起信号

常用选项:

示例:

后台运行程序,终端关闭不影响:

# nohup bash test.sh &>test.log &

时间: 2024-10-07 17:45:57

计划与前台进程命令(十四)的相关文章

Linux 常用命令十四 killall和pkill

用killall杀死所有同名的进程. [email protected]:~/workpalce/git$ ps -aux | grep vim wang 6548 0.3 0.3 17116 7520 pts/18 S+ 15:55 0:00 vim a wang 6549 0.5 0.3 17116 7440 pts/4 S+ 15:55 0:00 vim b wang 6551 0.0 0.0 6860 844 pts/1 S+ 15:55 0:00 grep --color=auto v

三十四、Linux系统任务计划cron、chkconfig工具、systemd管理服务、unit介绍

三十四.Linux系统任务计划cron.chkconfig工具.systemd管理服务.unit介绍.target介绍 一.Linux系统任务计划cron crontab命令:对任务计划功能的操作用此命令.选项: -u:指定某个用户,不加-u则为当前用户. -e:制定任务计划. -l:列出任务计划. -r:删除任务计划. 任务计划的配置文件:/etc/crontab 文件内共有五个字段. 从左往右依次为:分.时.日.月.周.用户.命令. 可以不指定用户就是root. # crontab -e  

设计模式(十四):Command命令模式 -- 行为型模式

1.概述 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活. 例子1:电视机遥控器 : 遥控器是请求的发送者,电视机是请求的接收者,遥控器上有一些按钮如开,关,换频道等按钮就是具体命令,不同的按钮对应电视机的不同操作. 2.问题 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧

【转】花开正当时,十四款120/128GB SSD横向评测

原文地址:http://www.expreview.com/19604-all.html SSD横评是最具消费指导意义的评测文章,也是各类热门SSD固态硬盘的决斗疆场.SSD评测在行业内已经有不少网站做过,超能网也从今年开始专注SSD固态硬盘重点产品的评测.随着40nm和25nm新制程的NAND颗粒的 量产,SSD固态硬盘在今年迎来了价格大幅度下降,特别是国内120GB和128GB的SSD固态硬盘价格已经达到非常合理的区间,因此需要阅读SSD评测特别是SSD横评来指导消费的用户,也在呈现爆发式增

企业运维之域控篇(十四)-域共享文件(服务端&客户端)设置

在公司我们这类杂工最多面对的也就是文件共享服务器.....这个是公司的重中之重,希望公司的领导与我们这类的杂工能够关注:免得一失足成千古恨!!!! 共享文件的作用:主要是在方便大家共同拥有. 共享服务器里的文件只能是暂时存放,而不是让它成为永久的仓库... 可能是人的懒性吧,所以每个公司的员工都是喜欢直接在共享文件里进行工作操作(如:编辑等等),其实这个是最点服务器资源与危险的事情. eg: 当你编辑好文件,保存后才发觉原来改错了,要恢复?那真是有些悲剧了(自己找不到需要的资料,同时也造成同事不

7.控制计划任务crontab命令

at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的Linux 系统上面原本就有非常多的计划 性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令. 一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安

javascript高级程序设计 第十四章--表单脚本

javascript高级程序设计 第十四章--表单脚本 在HTML中表单由<form>元素表示,在js中表单对应的是HTMLFormElement类型,这个类型也有很多属性和方法:取得表单元素的引用还是为它添加id特性,用DOM操作来获取表单元素:提交表单:把<input>或<button>元素的type特性设置为"submit",图像按钮把<input>元素的type特性设置为"image",也可以调用submit(

实验二十四:SD卡模块

  驱动SD卡是件容易让人抓狂的事情,驱动SD卡好比SDRAM执行页读写,SD卡虽然不及SDRAM的麻烦要求(时序参数),但是驱动过程却有猥琐操作.除此此外,描述语言只要稍微比较一下C语言,描述语言一定会泪流满面,因为嵌套循环,嵌套判断,或者嵌套函数等都是它的痛.. 史莱姆模块是多模块建模的通病,意指结构能力非常脆弱的模块,暴力的嵌套行为往往会击垮模块的美丽身躯,好让脆弱结构更加脆弱还有惨不忍睹,最终搞垮模块的表达能力.描述语言预想驾驭SD卡,关键的地方就是如何提升模块的结构能力.简单而言,描述

【Git入门之十四】Git GUI

[Git入门之十四]Git GUI - JackyStudio - 博客频道 - CSDN.NET 文章都快写完了,Git GUI才浮出水面,很多人要骂我,这么方便的东西怎么不早拿出来. 当然命令行和图形界面各有千秋,个人觉得命令行更能让人清楚的掌握整个项目的代码线.当然萝卜青菜各有所爱,Windows,Linux也是一样.喜欢什么客官您挑.本文只做简单介绍. 1.Git GUI有什么? 霸气测漏的右键菜单和可视化管理界面. 2.初始化仓库 新建一个文件夹叫JackyGUI,右键点击Git In