文章目录
Linux中的进程管理
一、进程
1.进程定义
程序是静态的代码文件
进程是指代码运行时的形态
进程是程序的一个副本
进程是有生命历程的:准备期、运行期、终止期
2.进程与线程
进程是资源调用的最小单位
线程是进程的最小单位
3.进程状态
- R(TAKS_RUNNING) 可执行态(running,ready)
- S(TASK_INTRRUPTABLE) 可唤醒休眠
- D(TASK_UNINTRRUPTABLE) 不可唤醒休眠
- T(TASK_STOP) 暂停状态
- Z(EXIT_ZOMBIE) 僵死态
二、进程查看命令
1.gnome-system-monitor
用法
gnome-system-monitor ##图形进程查看工具
实验
2.ps
用法
ps #进程查看
a 与终端相关的进程(用户登录后产生的进程都是带终端的)
x 与终端无关的进程
u 用户信息归类的查看方式
f 进程层级关系
o 显示指定参数
pid comm nice pri pcpu ppid stat user group
-e 显示所有进程
-f 显示信息的完整格式
-H 显示进程的层级结构
-o 显示指定参数
--sort=排序
%cpu 按进程使用cpu用量由小到大排序
-%cpu 按进程使用cpu用量由大到小排序
%mem 按进程中所用到的内存容量由大到小
-%mem 按进程中所用到的内存容量由小到大
...
实验
3.pgrep
用法
pgrep 进程过滤
-u uid 显示指定用户进程
-U username 同上
-t tty 显示指定终端进程
-l 显示进程名称
-a 显示进程完整名称
-P 进程的子进程
实验
4.pidof
用法
pidof 进程 查看进程的pid
pidof vim 查看vim的pid
实验
5.top
用法
top ##动态进程查看
-d 指定刷新频率
-b 以批次方式显示
-n 指定显示的批次数量
top内部指令
P 按cpu排序
M 按内存排序
T 累计cpu时间排序
l 关闭/打开cpu&task
s 指定刷新频率
k 操作进程
u 查看指定用户进程
实验
三、system守护进程
1.实验环境
两台虚拟机
172.25.254.26
172.25.254.27
2.远程操作主机
用法
ssh 远程主机ip -l 远程主机用户
实验
无图形的网络模式
有图形的网络模式
四、系统中的登陆审计
last lastb w用法
w ##显示正在登陆系统的账号
-i 显示登录来源
被记录在/var/run/utmp
last ##登陆成功现在已经退出的
被记录在/var/log/wtmp
lastb ##试图登陆但没有成功
被记录在/var/log/btmp中
实验
五、进程优先级
相当于任务的重要性
范围:0-139
内核自控优先级范围:0-99
用户可控优先级:100到139
nice里面对应: -20 到19
越小优先级越高
nice 与 renice
用法
nice -n -5 cat ##指定cat的优先级为-5并打开cat
renice -n -5 1234 ##指定pid为1234的进程优先级为-5
实验
六、进程前后台调用
用法
ctrl+z 把占用shell的进程打入后台
bg 把后台挂起的进程运行起来
fg 把后台进程调回前台
& 运行进程在后台
jobs 查看当前shell中在后台的所有工作
实验
七、进程信息号
1.进程信号
信号 | 作用 |
---|---|
1 | 重新家在系统配置文件(source) |
2 | 清空内存中的进程数据 |
3 | 清空内存中的鼠标(ctrl+) |
9 | 强行结束进程(不能被阻塞) |
15 | 正常关闭进程(会被阻塞) |
18 | 运行被暂停的进程 |
19 | 暂停进程(不会被阻塞) |
20 | 暂停进程(会被阻塞的) |
2.进程信号控制工具
用法
kill 进程信号 pid
killall 进程信号 进程名字
pkill 进程信号 进程条件