linux command Line and shell script bible(笔记十)

26 篇文章 0 订阅

这是暑假回来看linux命令行与shell脚本编程大全的一些笔记,并不是全部的,只是结合本人觉得需要的一些记录,在整理发表博文时也当作一种回顾!欢迎交流指正!!


15.1.2 产生信号
1.终止进程:Ctrl+c组合会产生SIGINT信号
2.暂停进程:Ctrl+Z组合会产生SIGTSTP信号
注:kill -9 PID 向PID的进程发送9信号,无条件终止进程

15.1.3 捕捉信号
trap commands signals
*在trap命令行上,commands就是列出当捕捉到信号时要shell执行的命令,signals就是一组用空格分开的要捕捉的信号(可以是linux信号名或者数值)
如:trap "echo I have trap the signal" SIGINT SIGTERM #每次使用Ctrl+c组合键时,脚本会执行trap命令中指定的命令语句,而不是忽略此信号并允许它停止当前脚本。
15.1.4 捕捉脚本的退出,此信号为EXIT
15.1.5 移除捕捉: trap - EXIT   #一旦信号捕捉被移除,脚本就会忽略该信号,任由信号进行相应功能

15.3 在非控制台下运行脚本,nohup
格式:nohup command &
*命令会将进程的STDOUT/STDERR的消息重定向到一个名为nohup.out的文件中(文件在运行命令时的那个目录中),且退出终端也不会结束进程。
15.4.1 查看作业
jobs:此命令允许查看shell当前正在处理的作业
-l:列出进程的PID及作业号
-n:只列出上次shell发出的通知后改变状态的作业
-p:只列出作业的PID
-r:只列出运行中的作业
-s:只列出已停止的作业
*带加号的作业会被当作默认的作业,带减号的当作下一个默认作业。
15.4.2 重启停止的作业
*bg命令以后台模式重启作业,加上作业好,否则操作默认作业
*fg命令以前台模式重启作业.加上作业号,否则操作默认作业
15.5.1 nice命令
$ nice -n number command (只能指定一个更低的优先级运行,number范围是-20到20)
$ renice number -p PID   #改变进程的优先级 (普通用户只能向更低级改变,)

15.6.1 用at命令来计划执行作业
1.at命令格式 at [-f filename] time
*默认情况下,at命令会将STDIN的输入放到队列中,但也可以用-f参数来指定读取命令或脚本文件的文件名
time:指定了linux系统何时运行该作业
*标准的小时和分钟格式,10:15
*~AM/~PM指示符,10:15~PM
*特定可命名的时间,now、noon、midnight、teatime(4~PM)
*标准日期格式,MMDDYY、MM/DD/YY或者DD.MM.YY
*文本日期,Jul 4,Dec 25,加不加年份均可
也可以指定时间增量
*当前时间+25min
*明天10:15~PM
*10:15 + 7天
注意:计划进程任何发到STDOUT或STDERR的输出都会通过邮件发给提交该作业的用户邮箱可以mail命令查看

3.列出等待的作业:atq命令
4.删除作业: atrm 作业号

15.6.2 计划定期执行脚本
1. cron时间表 :min hour dayofmonth month dayofweek command
*允许用特定值,值范围,通配符*来指定条目。如:15 10 * * * command
*可以用三字符的文本值(mon\tue\wed\thu\fri\sat\sun)或数值(0为周日,6为周六)来指定dayofweek条目
*dayofmonth条目会为月份指定日期值(1-31)
注意:每月最后一天执行——  00 12 * * * if [`date +d% -d tomorrow` = 01 ]; then ; command
注:command要用全路径名
2. crontab命令来处理cron时间表
-l:列出已有cron时间表
-e:为cron时间表添加条目(已有或者不存在的)
3.cron目录
预配置的cron脚本目录:/ect/cron.*ly

4.anacron时间表
格式:period delay identifier command
*period条目定义作业多久运行一次,以天为单位
*delay条目会指定系统启动后多少分钟后anacron程序开始运行错过的脚本。
*command条目包含了run-parts程序和一个cron脚本目录名.run-parts程序负责运行目录中传给它的任何脚本。
注意:anacron不会运行位于/etc/cron.hourly的脚本,因为不出历执行时间需求小于一天的脚本

15.7启动时运行
##########linux本地开机文件位置###########
debian        /etc/init.d/rc.local
Fedora        /etc/rc.d/rc.local
Mandriva    /etc/rc.local
openSuse    /etc/init.d/boot.local
Ubuntu        /etc/rc.local
*在本地开机文件中,可以指定特定命令或语句,或者输入任何你要在开机启动的脚本(全路径名)
*注意用户目录下两个文件.bash_profile(新登录生成shell运行的文件)和.bashrc(新shell启动时,包括新的登录情况,会运行此文件)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值