控制脚本

控制脚本

1.处理信号

Linux利用信号与运行在系统中的进程进行通信,常见的信号:
信号       值        描述
1        STGHUP     挂起进程
2        SIGINT     终止进程
3        SIGQUIT    停止进程
9        SIGKILL    无条件终止
15       SIGTERM    尽可能终止进程
17       SIGSTOP    无条件停止进程,但不是终止进程
18       SIGTSTP    停止或暂停进程,但不终止进程
19       SIGCONT    停止运行停止的进程

2.生成信号

中断进程
Ctrl+c组合键会生成SIGINT信号,停止shell中当前运行的进程
Ctrl+z组合键会生成一个SIGTSTP信号,停止shell中运行的任何进程

3.捕获信号

trap命令允许你来指定shell脚本要监看并从shell中拦截Linux信号。
如果脚本中收到了trap命令中列出的信号,该信号不再由shell处理,
而是由本地处理
格式:trap commands signals

4.捕获脚本退出

要捕获sehll脚本的退出,只要在trap命令后加上EXIT信号就行
如:
    trap "echo Goodbye.." EXIT

5.以后台模式运行脚本

以后台模式运行脚本非常简单,只要在命令后加个&就可以了

6.在非控制台下运行脚本

这可以用nohup命令来实现
如 
nuhup ./test1.sh &

7.作业控制

作业控制中的关键命令是jobs命令,jobs命令允许查看shell当前
正在处理的作业,想要查看作业的PID,可以在jobs命令中加入-l
重启停止的作业:
    bg PID

8.优先级

调度优先级是内核分配给进程的CPU时间。在Linux系统中,由shell
启动的所有进程的调度优先级默认都是相同的。
调度优先级是个整数值,从-20最高到+19最低,默认情况下都是0

nice -n 可以降低进程的优先级,只能降低不能提高。
renice 命令可以降低正在运行进程的优先级

猜你喜欢

转载自blog.csdn.net/jd_457619512/article/details/89471077