Linux中后台命令的执行

Linux中对于一些大任务需要在后台运行,否则会一直占用屏幕,防碍使用者使用终端去完成其它的任务。其中会提供如下几个命令来进行后台执行:

1、  设置crontab文件,并用它来提交作业;其中cron 系统调度进程,可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。

2、  使用at命令来提交作业;使用它在一个特定时间运行一些特殊的作业,或在晚些的非负荷高峰时段或高峰时段运行。

3、  & 在后台提交作业;使用它在后台运行一个占用时间不长的进程。

4、  使用nohup命令提交作业。使用它可以在后台运行一个命令,即使在用户退出时也不受影响。

 

Crontab的域

1   分钟 159

2   小时 0230表示子夜)

3   131

4   112

5   星期 06 0表示星期天)

6   要运行的命令

如下格式:分 星期 要运行的命令。它是从左边读起。用“-”来表示一个时间范围,如在第5列中1-5表示周一到周五。采用“,”表示希望的某些值,如第5列中的14表示星期一和星期四。采用“*”表示连续的时间段。

如:45 4 11022 * * /apps/bin/backup.sh表示每月的11022日的445去执行/apps/bin/backup.sh脚本。

0 30 18-23 * * * /apps/bin/dbcheck.sh表示每天的1800-2300之间每30分钟运行/apps/bin/dbcheck.sh脚本。

Crontab命令的一般形式

Crontab -u user -e  –l  –r

-u  表示用户名

-e  编辑crontab文件

-l  列出crontab文件中的内容

-r  删除crontab文件。

 

At命令

At命令允许用户向cron守护进程提交作业,使其在稍后的时间运行。这个稍后可能是指几分钟或几天以后,若希望在一个月或更长时间运行,则建议采用crontab命令。

At命令的基本形式为:

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

-f  script 表示所要提交的脚本或命令

-l  列出当前所有等待运行的作业,与atq命令等价

-r  清除作业, atrm的命令等价

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

Time at命令的时间格式,非常灵活,可以是HHH.mm等其中H为小时,M为分钟。也可以采用a.m.p.m.

Date 日期格式可以是月份数或日期数,而且at命令可以识别如todaytomorrow等这样的词。

$at 3.00 pm tomorrow –f /apps/bin/db_table.sh

表示明天下午300去执行/apps/bin/db_table.sh脚本

$at –l

查看已经提交的所有的后台作业

$ at –r job 3 atrm job 3

会清除job 3作业

 

&命令

可以采用该&命令将要运行的作业推送到后台执行,其命令的形式为:command &

$ comm.and > out.file  2 > &1 &

将该命令执行后的结果重定向到out.file中,并将该命令产生的错误定向到标准输出,同时将该命令推送至后台运行。

 

nohup命令

该命令可以在你退出帐户之后继续运行相应的进程,它的意思是(no hang up)。

命令形式:nohup comm.and &..

若使nohup命令提交作业时,在缺少情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非指定了输出文件。

$ nohup  comm.and > myout.file 2 > &1

该命令会在执行完后将结果重定向至myout.file中,同时将标准错误输出至标准输出。

$ nohup  comm.and 2 > &1

该命令会在执行完后将结果重定向至nohup.out中,同时将标准错误输出至标准输出。

采用nohup还可以将几个命令组织在一个shell脚本中一起提交并执行。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值