Shell脚本学习笔记(八)--进程管理和工作控制
2011-03-19 13:42
831 查看
进程管理和工作控制
ps,top,htop命令的使用
传送信号
使用kill命令可以对进程传送信号进行管理。管理进程时的基本原则是
1 先礼后兵。先发送信号给进程,让进程自己完成该做的事,若进程已不听指挥,或失去控制,再发出强制性的信号。这样的好处是,让进程在结束前有缓冲的时间做好收尾工作,如清除存盘、锁定文件、进程编号记录文件等,否则当进程不正常结束时,若在主机中残留这些文件,而下次要再执行程序时,可能会出现无法启动的现象。
2 各得其所。调整进程的优先级,使得每个进程都得到适当的安排,各项工作能如期完成。进程进入执行排程(schedule)的优先级,成为nice值。通常nice值介于-20~20之间。nice值越少,优先级越高。只有root权限者才能调整介于-20~0的nice值;一般权限的使用者,只能调整其拥有的进程的nice值在0~20之间.换言之,只有root才能调高进程的优先级,一般使用者只能降低其进程的优先级。nice命令和renice命令。nice运用于尚未执行的程序,renice运用在已执行的进程。
nice -n nice值 程序 指定程序执行时的优先级为某一nice值。-20~19,但只有root可以用-20~0这个区段。若省略-n不指定nice值,则使用预设值10
renice nice值 -p PID -g 群组 -u 使用者名称 -p -g -u三个选项,可单独使用也可以组合使用
PRI也是进程优先级的一种表示法,和nice值(NI)不同的是,PRI永远以0或正数表示:PRI=NI+20
工作控制
bash的互动模式下,允许用户暂停某一进程,稍后再恢复执行该进程。这种赋予使用者操控进程的机制,成为工作控制(jobs control)
例子
整理
常用的工作控制命令
& 将指令丢到背景执行
bg 将暂停的工作丢到背景 使用ctrl+z组合键暂停进程,然后配合bg命令把工作丢到背景,和执行"指令 &"的效果是一样的
fg 将暂停的工作拉回到前台执行
jobs 列出工作 或jobs -l
disown 移除工作
kill 传送信号给进程或工作
wait 等待子进程结束,传回最后一个命令的执行状态
suspend 暂停目前的shell。suspend 暂停一个非login的shell,suspend -f 暂停目前的login shell。当暂停的shell收到CONT信号时才会继续运行。
进程替换
进程替换可以让我们把标准输出,一次倒给许多进程作为输入;或者由多个进程取得其输出,然后倒给某个程序去处理。
进行替换的用法:
1 命令< (指令行) 通过设备文件/dev/fd/n或缓存文件,把进程的输出倒给<左方的命令来读取
2 > (指令行) 这是通过设备文件/dev/fd/n或缓存盘,把数据提供给()中的进程去读取
ps,top,htop命令的使用
传送信号
使用kill命令可以对进程传送信号进行管理。管理进程时的基本原则是
1 先礼后兵。先发送信号给进程,让进程自己完成该做的事,若进程已不听指挥,或失去控制,再发出强制性的信号。这样的好处是,让进程在结束前有缓冲的时间做好收尾工作,如清除存盘、锁定文件、进程编号记录文件等,否则当进程不正常结束时,若在主机中残留这些文件,而下次要再执行程序时,可能会出现无法启动的现象。
2 各得其所。调整进程的优先级,使得每个进程都得到适当的安排,各项工作能如期完成。进程进入执行排程(schedule)的优先级,成为nice值。通常nice值介于-20~20之间。nice值越少,优先级越高。只有root权限者才能调整介于-20~0的nice值;一般权限的使用者,只能调整其拥有的进程的nice值在0~20之间.换言之,只有root才能调高进程的优先级,一般使用者只能降低其进程的优先级。nice命令和renice命令。nice运用于尚未执行的程序,renice运用在已执行的进程。
nice -n nice值 程序 指定程序执行时的优先级为某一nice值。-20~19,但只有root可以用-20~0这个区段。若省略-n不指定nice值,则使用预设值10
renice nice值 -p PID -g 群组 -u 使用者名称 -p -g -u三个选项,可单独使用也可以组合使用
PRI也是进程优先级的一种表示法,和nice值(NI)不同的是,PRI永远以0或正数表示:PRI=NI+20
工作控制
bash的互动模式下,允许用户暂停某一进程,稍后再恢复执行该进程。这种赋予使用者操控进程的机制,成为工作控制(jobs control)
例子
#!/bin/bash for ((;1;)) do sleep 10 done
整理
常用的工作控制命令
& 将指令丢到背景执行
bg 将暂停的工作丢到背景 使用ctrl+z组合键暂停进程,然后配合bg命令把工作丢到背景,和执行"指令 &"的效果是一样的
fg 将暂停的工作拉回到前台执行
jobs 列出工作 或jobs -l
disown 移除工作
kill 传送信号给进程或工作
wait 等待子进程结束,传回最后一个命令的执行状态
suspend 暂停目前的shell。suspend 暂停一个非login的shell,suspend -f 暂停目前的login shell。当暂停的shell收到CONT信号时才会继续运行。
进程替换
进程替换可以让我们把标准输出,一次倒给许多进程作为输入;或者由多个进程取得其输出,然后倒给某个程序去处理。
进行替换的用法:
1 命令< (指令行) 通过设备文件/dev/fd/n或缓存文件,把进程的输出倒给<左方的命令来读取
2 > (指令行) 这是通过设备文件/dev/fd/n或缓存盘,把数据提供给()中的进程去读取
相关文章推荐
- Shell脚本学习笔记(八)--进程管理和工作控制
- shell脚本学习笔记:通过shell实现linux用户管理和监控
- Shell脚本学习笔记-运行控制
- Shell脚本学习笔记-系统管理
- UNIX环境编程学习笔记(18)——进程管理之进程控制三部曲
- Linux系统命令及Shell脚本学习笔记二:用户管理
- Linux系统命令及Shell脚本学习笔记三:文件管理
- shell脚本攻略学习笔记(九)管理重任
- UNIX环境编程学习笔记(18)——进程管理之进程控制三部曲
- Shell脚本学习笔记(四)--流程控制
- Liunx 命令行与shell脚本编程大全 第八章学习笔记(Linux系统的包管理基础)
- Shell入门之脚本管理学习笔记
- Shell脚本学习笔记-系统管理
- Shell脚本学习笔记(四)--流程控制
- Pro Oracle Database 11g Administration 学习笔记之第五章(管理控制文件和联机日志文件)
- Shell脚本学习笔记-条件判断
- Linux系统命令及Shell脚本学习笔记四:Linux文件系统
- shell脚本学习笔记(符号)
- UNIX环境编程学习笔记(7)——文件I/O之文件访问权限与进程访问控制
- linux学习笔记--工程师技术:shell脚本基础