linux进程管理
进程管理
程序放置在储存媒体中,为实体文件的形态存在
进程: 程序被触发后,执行者的所有数据被载入内存中,操作系统给予一个识别码(pid) 进程就是运行的程序 系统未完成且正在进行的工作
1.进程状态
R:Running 程序正在运行中
S:Sleeping 程序在睡眠,是可以被唤醒,也在运行中
D: 程序在睡眠,但是不可被唤醒,通常可能在等待i/o的情况
Z:Zombie 僵尸状态,程序已经终止但是无法移到内存外
T :Stopped 程序被停止
2.进程查看
gnome-system-monitor
ps常用命令
ps 查看当前shell进程状态
a 在shell中运行的所有进程
-A 所有进程
-a 除了环境本身的所有进程
e 显示进程拓展信息
x 显示所有有输出设备的进程
-u 显示进程的用户
-f 显示进程的所属关系
-d 显示进程系统中所有进程,不包含shell信息
常用组合
ps aux 显示系统中所有进程并显示进程用户
ef 显示进程详细信息并显示进程父子关系
ax 显示当前系统中的所有进程
pstree 显示当前系统的进程树
显示指定进程信息
ps -o xxx 显示进程的指定信息
comm 进程名称
user 进程所有人
group 显示进程所有组
%cpu 进程cpu使用率
%mem 进程内存使用率
进程排序
ps ax --sort=
+%cpu|-%cpu 正序反序
+%mem|-%mem
ps --sort=%cpu 排序
stat中显示的信息
S 进程状态
l 内存中有锁定空间
N 优先级低
< 优先级高
+ 正在运行
s *进程
进程优先级
1.进程的优先级范围
-20~99
2.优先级查看
ps ax -o pid,nice,comm
3.指定某个优先级开启进程
nice -n 优先级数字 进程名字
nice -n -5 vim #开启vim并指定程序优先级为-5
4.更改进程优先级
renice -n 优先级数字 pid
renice -n 10 1257 #更改进程1257的优先级为10
5.环境中进程的前后台调用
jobs 查看被打入环境后台的进程
ctrl+z 把占用终端的进程打入后台
fg jobsnum 把后台进程调回前台
bg jobsnum 把后台暂停的进程运行
comm & 让命令直接在后台运行
6.进程信号
1.常用信号等级
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9 强行结束单个进程(不能被阻塞)
15 正常关闭进程(可能会被阻塞)
18 运行暂停的进程
19 暂停某个进程(不能被阻塞)
20 把进程打入后台(可以被阻塞)
man 7 signal 查看信号详细信息
kill -信号 进程pid
使用 2 来清除另一个shell中输入的内容
killall -信号 进程名字
pkill -u student -信号
SIGHUP 终止进程 终端线路挂断
SIGINT 终止进程 和总段进程
SIGQUIT 建立CORE文件终止进程,并生成core文件
SIGILL 建立CORE文件 非法指令
SIGTRAP 建立CORE文件
7.进程的动态监控
1.top
1 显示cpu每个核的负载
s 调整刷新频率
c cpu负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号
q 退出
8.控制服务
1.什么是服务
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd 系统初始化进程
pstree 显示系统中的进程树
4.进程控制命令
ssh ------->sshd
client server
systemctl 服务控制命令
status sshd 查看服务状态,inactive(不可用),active(可用)
start sshd 开启服务
stop sshd 关闭服务
restart sshd 重启服务
reload sshd 重新加载服务器配置
enable sshd 设定服务开机启动
disable sshd 设定服务开机不启动
list-units 列出已经开启服务当前状态
list-unit-files 列出所有服务开机启动的状态 disable,enable,static
list-dependencies 列出服务器的依赖
set-default multi-user.target 设定系统启动级别为多用户模式(无图形)
set-default graphical.target 设定系统启动级别为图形模式