目标
1.解释什么是进程
2.描述如何管理进程
3.使用任务控制工具
一、什么是进程
进程是加载到内存中指令的集合。
1.PID(ProcessID)
2.UID, GID和linux上下文决定文件系统的访问
正常情况下从执行文件的用户下继承
二、列出进程
1.使用ps命令查看进程信息
默认情况下打印当前终端使用的进程
-a选项:打印所有终端的进程
-x选项:打印不归属于终端的进程
-u选项:打印进程拥有者信息
-f选项:打印进程的父亲信息
-o PROPERTY选项:打印客户信息
pid, comm, %cpu, %mem, state, tty, euser, ruser
三、查找指定进程
1.最灵活方便的方式:ps options | other命令
eg.
ps -e | grep su 最常用
2.使用预定义的模式:pgrep
eg.
pgrep -U root
pgrep -G student
3.通过准确的程序:pidof
eg.
pidof bash
四、信号
1.所有的进程间通信
不需要用户接口的,直接发送
使用信号连接成程序的行为
信号被指定为名称或者编号使用
信号15,TERM-- Terminate cleanly
信号 9 ,KILL --Terminate immediately
信号 1, HUP-- 重读配置文件
man 7 signal 现实完整的列表
五、发送信号到进程
1.通过PID:kill [signal1] pid
2.通过名称:killall [signal1] comm
3.通过模式:pkill [-signal1] pattern
六、调度优先权
1.调度优先权决定进程如何访问CPU
2.优先权被进程的nice值影响
3.nice取值范围为-20到19,默认为0
值越低表示优先权越高
3.通过命令: ps -o comm, nice 查看nice值
七、变更调度优先权
1.nice值可以变更:
当这样运行进程: nice -n 5 command
运行之后: renice 5 PID
2.只有系统管理员root可以减少nice值
八、交互进程管理工具
1.CLI: top
2.GUI: gnome->system->monitor
3.能力
现实实时进程信息
允许排序,杀死和修改nice值
九、任务控制
1.在后台运行程序
./program &
2.暂时停止以个正在运行的进程
CTRL+Z: 实际上发送signal 17(stop)
3.管理后台或悬挂的任务
列出任务数量和名称:jobs
恢复进程到后台运行:bg [%jobNum]
恢复进程到前台运行:fg[%jobNum]
发送信号: kill [-signal= [%jobNum]