1.######什么是进程######
进程就是一个正在运行的程序,是系统未完成并且正在进行的工作。
2.######进程状态######
R(running):该程序正在运行中。
S(sleeping):该程序目前正在睡眠状态idle,但可以被唤醒。
D : 不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。
T(stop):停止状态,可能是在工作控制(背景暂停)或除错状态。
Z(Zomble):僵尸状态,程序已经终止但却无法被移出至内存外
3.######.查看进程######
(1)图形方式查看
gnome-system-monitor
(2)进程查看命令
ps
ps -A ##所有进程
ps -a ###在当前环境中运行的进程,不包含环境信息,没有环境本身的过程
ps a ###在当前环境中运行的进程
ps -u ##显示进程用户信息
ps x ###列出系统中所有运行包含tty(字符设备)输出设备
ps f ###显示进程的父子关系并且父极进程关闭子极进程也会关闭,孤儿程序受系统初始化程序控制
ps e ###显示进程的详细信息
(3)ps常用组合
ps aux ###显示系统中所有进程并显示进程用户
ps ef ###显示进程详细信息并显示进程父子关系
ps ax ###显示当前系统中的所有进程
pstree ###显示当前系统的进程数
## 显示进程指定信息
ps -o xxx ###显示进程的指定信息
ps -o comm ###进程名称
ps -o user ###进程所有人
ps -o group ##进程的所有组
ps -o %mem ##进程的内存使用率
ps -o %cpu ###进程cpu使用率
ps -o pid ##显示进程pid
ps -o nice ##显示进程优先级
显示进程的名称,所有人,pid,和优先级
(4)进程排序
ps ax --sort =+%cpu|-%cpu ##‘+‘表示cpu使用率的升序,可以省略,‘-‘与之相反
ps ax --sort=+%mem|-%mem ##‘+’表示内存使用率的升序,可以省略,‘-’与之相反,但不可省略
例:抓取系统中内存使用量排在前五的进程的pid
4.######stat中显示的信息#####
S //显示进程状态//
l //内存中有锁存空间
N //优先级低
< //优先级高
+前台运行
s //顶级进程
R+ 正在运行
5.######进程优先级######
(1)进程优先级范围
-20到19(优先级-20代表最高优先级)
(2)优先级查看
ps ax -o pid,nice,comm
(3)指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n 5 vim & ##开启vim并且指定程序优先级为5
(4)改变进程的优先级
renice -n 优先级数字 进程pid
renice -n -5 1243 ##改变1243进程的优先级为-5
6.####环境中进程的前后台调用####
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
其中+表示默认操作,-表示次默认,‘’表示没有优先级.如果不写后台进程号则默认调优先极高的
bg jobsnum ##让后台暂停的进程运行
comm & ##让命令直接在后台运行
7.##########进程信号##########
(1)常用信号等级
1 ##进程重新加载配置
2 ##删除进程再内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程(可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程(不能被阻塞)
20 ##把进程打入后台(可以被阻塞)
man 7 signal ##查看信号详细信息
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
grep过滤器:
8.######进程的动态监控#######
(1)top
1 ##显示cpu每个核的载
s ##调整刷新频率
c ##cpu负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
8.控制服务
(1)什么是控制服务
系统中运行的对于系统本身没有意义但是对客户主机有重大意义的程序叫做服务型软件叫服务
一类软件
cs模型 : c---->client s---->server
(2)用什么控制服务
系统初始化进程可以对服务进行相应的控制
(3)当前系统初始化进程是什么
systemd ##系统初始化进程
pstree ###显示系统的进程树
(4)进程控制命令
ssh----->sshd
client server
systemctl 参数 服务名称 ##服务控制命令
例:sshd服务
systemctl status sshd ###查看服务状态,intive为不可用
systemctl stop sshd ##关闭服务
systemctl start sshd ##开启服务
systemctl restart sshd ##重启服务
systemctl reload sshd ##重新加载服务
systemctl enable sshd ##设定服务开
systemctl disable sshd ##设定服务
systemctl list-units ##列出已经开启服务的当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态(disable,enable,static)
systemctl list-dependencies ##列出服务的依赖性
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)
systemctl set-default grophical.target ##设定系统启动级别为图形模式
systemctl mask sshd ##冻结服务
systemctl unmask sshd ##解除冻结