前言
进程可以理解为程序执行的一个实例,它包括可执行程序以及与其相关的系统资源,比如打开的文件、挂起的信号、内核内部数据、处理器状态、内存地址空间及包含全局变量的数据段等。从内核的角度看,进程也可以称为任务。
换句话就是说 进程是系统未完成的工作并且是正在进行的工作
进程的查看
1.图形查看
gnomes-system-monitor #在终端输入会弹出一个进程管理界面
2. 终端查看
ps -A ##所有进程
-a ##在当前环<C-F9>境中运行的进程,不包函环境信息
-u ##显示进程用户信息
a ##在当前环境中运行的进程
x ##列出系统中所有运行包含tty输出设备
f ##显示进程的父子关系
e ##显示进程的详细信息(系统资源的调用)
ps常用组合
ps aux #显示系统中所有进程并显示进程用户
ps ef #显示进程详细信息并显示进程父子关系
ps ax #显示当前系统中的所有进程
显示进程指定信息
ps -o xxx #显示进程的指定信息
comm #进程名称
user #进程所有人
group #进程所有组
%cpu #进程cpu使用率
%mem #进程内存使用率
pid #进程id
nice #进程优先级
进程排序
ps ax --sort=
+%cpu|-%cpu
+%mem|-%mem
stat显示的信息
stat指令:文件/文件系统的详细信息显示。
stat命令主要用于显示文件或文件系统的详细信息
####stat中显示的信息 ##
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
进程优先级
1.进程优先级范围
进程调度优先级是从**-20到19**,一共40个级别,数字越大,表示进程的优先级越低。默认时候,进程的优先级是0
2.优先级查看
ps ax -o pid,niec,comm
3.制定优先级开启进程
nice -n 优先级数字 进程名称
例如:nice -n -8 gedit & #开启gedit并且指定程序优先级为-8
4.改变进程优先级
reince -n 优先级数字 进程pid
实例:renice -n -8 3985 #改变3985进程的优先级为-8
ps a -o pid,nice,comm

进程前后台调用
jobs #查看被打入环境后台的进程
ctrl+z #把占用终端的进程打入后台
ctrl-c #前台进程的终止
fg jobsnum #把后台进程调回前台
bg jobsnum #把后台暂停的进程运行
comm & #让命令直接在后台运行
jibs %num #关闭特定进程
进程信号
常用的信号等级
1 #进程重新加载配置
2 #删除进程在内存中的数据
3 #删除鼠标在内存中的数据
9 #强行结束单个进程(不能被阻塞)
15 #正常关闭进程 (可能会被阻塞)
18 #运行暂停的进程
19 #暂停某个进程 (不能被阻塞)
20 #把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
实例
kill -15 2983 #正常关闭id为2983的进程
killall -15 vim #正常关闭vim的进程
pkill -u student -信号
进程的动态监控
top
1. #显示cpu每个核的负载
s #调整刷新频率
c #CPU负载排序
m #内存使用量排序
h #查看帮助
u #查看指定用户进程
k #对指定进程发起信号
q #退出
控制服务
工具:系统初始化进程可以对服务进行相应的控制
当前系统初始化进程是
systemd #系统初始化进程
pstree #显示系统中的进程树
进程控制命令
ssh -------->sshd
client server
systemctl #服务控制命令
systemctl status sshd #查看服务状态,inactive(不可用),active(可用)
systemctl start sshd #开启服务
systemctl stop 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 graphical.target #设定系统启动级别为图形模式