Linux中后台命令的执行

本文介绍Linux系统中通过crontab、at命令及&、nohup等方法进行后台任务调度的方法。crontab用于定时执行任务,at命令则用于指定时间执行任务。&命令适合短时后台任务,而nohup命令则能在用户登出后仍保持任务运行。

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、付费专栏及课程。

余额充值