16 控制脚本

处理信号
以后台模式运行脚本
禁止挂起	
作业控制修改脚本优先级
脚本执行自动化

Linux利用信号与运行在系统中的进程进行通信

停止进程会让进程继续保留在内存中
shell将shell中每个运行的进程称为作业,并为作业分配唯一的作业号

Linux信号

1  SIGHUP	      挂起进程
2  SIGINT         终止进程
3  SIGQUIT        停止进程
9  SIGKILL  	  无条件终止进程
15  SIGTERM		  尽可能终止进程
17  SIGSTOP		  无条件停止进程,但不是终止进程
18  SIGTSTP		  停止或暂停进程,但不终止进程
19  SIGCONT	 	  继续运行停止的进程

捕获信号

trap 命令允许你来指定shell脚本要监看并从shell中拦截的Linux信号
trap cpmmands signals

trap "echo 'aaaaaaa'" SIGINT 
trap "echo Goodbye..." EXIT

count=1
while [ $count -le 10 ]
do
        echo "Loop #$count"
        sleep 2
        count=$[ $count+1 ]
done
 #删除已设置好的捕获
  trap -- SIGINET

shell会执行在 trap 命令行指定的命令

删除已设置好的捕获
trap – SIGINET

后台模式运行shell脚本,在命令后加个 & 符就行了
nohup 脚本一直以后台模式运行到结束,即使你退出了终端会话

cat nohup.out

作业控制

jobs -l 列出进程的PID以及作业号

bg
fg

调整谦让度
nice命令

nice -n 10 ./test4.sh > test4.out &

ps -p 4973 -o pid,ppid,ni,cmd

renice 命令你指定运行进程的PID来改变它的优先级。
renice -n 10 -p 5055

定时运行作业
at 命令和 cron 表

atd 守护进程会检查系统上的一个特殊目录(通常位于/var/spool/at),默认情况下, atd 守护进程会每60秒检查一下这个目录

at [-f filename] time

10:15 PM。
10:15。
now noon midnight

标准日期格式,比如MMDDYY、MM/DD/YY或DD.MM.YY。
文本日期,比如Jul 4或Dec 25,

当前时间+25 min
明天10:15 PM
10:15+7天

当你使用at命令时,该作业会被提交到作业队列,作业队列通常用小写字母a~z
和大写字母A~Z来指代。作业队列的字母排序越高,作业运行的优先级就越低(更高的 nice 值)

 at -f test13.sh now
job 7 at 2015-07-14 12:38

tomorrow

at 命令会显示分配给作业的作业号以及为作业安排的运行时间。 -f 选项指明使用哪个脚本
文件, now 指示 at 命令立刻执行该脚本。

cat /var/spool/mail/phy

atq命令可以查看系统中有哪些作业在等待

atrm n 删除作业

安排需要定期执行的脚本

cron时间表

 min hour dayofmonth month dayofweek command

cron时间表允许你用特定值、取值范围(比如1~5)或者是通配符(星号)来指定条目

15 10 * * 1 command

mon tue wed thu fri sat sun
0-6 7

命令列表必须指定要运行的命令或脚本的全路径名
15 10 * * * /home/rich/test4.sh > test4out

构建cron时间表
crontab -l
列出已有时间表
crontab -e 添加条目

cron目录
ls /etc/cron.*
如果脚本需要每天运行一次,只要将脚本复制到daily目录,cron就会每天执行它。

cat /var/spool/anacron/cron.monthly
anacron程序使用自己的时间表(通常位于/etc/anacrontab)来检查作业目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值