linux除了是一种多用户操作系统之外,还是一种多任务系统。多任务意味着可以同时运行多个程序。一个运行程序的示例通常被称为一个进程可以通过一个Shell启动、暂停、停止或者杀死进程。还可以将进程放置到后台以及带到前台。其主要命令有ps,top,kill,jobs以及其他管理进程的命令
什么是进程? 进程就是系统未完成并且正在进行的工作
查看进程的方式有:1.图形方式查看 2.命令查看
查看进程的命令有
ps [-A] [-a] [-u] [a] [x] [f] [e] [aux] [ef] [ax]
ps | 描述 |
-A | 所有进程 |
-a | 在当前环境中运行的进程,不包函环境信息 |
-u | 显示进程用户信息 |
a | 在当前环境中运行的进程 |
x | 列出系统中所有运行包含tty输出设备 |
f | 显示进程的父子关系 |
e | 显示进程的详细信息(系统资源的调用) |
aux | 显示系统中所有进程并显示进程用户 |
ef | 显示进程详细信息并显示进程父子关系 |
ax | 显示当前系统中的所有进程 |
上图中STAT列表示出进程的状态,其中S表示一个当前运行的进程,R表示一个睡眠进程,+表示进程与前台操作相关联
显示进程指定信息
ps -o | 显示进程的指定信息 |
comm | 进程名称 |
user | 进程所有人 |
group | 进程所有组 |
%cpu | 进程cpu使用率 |
%mem | 进程内存使用率 |
pid | 进程id |
nice | 进程优先级 |
进程排序
ps ax --sort=
+%cpu|-%cpu (正序|逆序cpu)
+%mem|-%mem(正序|逆序mem)
3.进程优先级
1).进程的优先级范围
-20~19
2).优先级查看
ps ax -o pid,nice,comm
3).指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 vim & ##开启vim并且指定程序优先级为-5
4).改变进程优先级
reince -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806进程的优先级为-5
4.环境中进程的前后台调用
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
5.进程信号
1.常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程 (可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程 (不能被阻塞)
20 ##把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
6.进程的动态监控
top
l ##显示cpu每个核的负载
s ##调整刷新频率
c ##CPU负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
7.控制服务
1.什么是服务
service(也称为daemon)表示后台运行的程序
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd ##系统初始化进程
pstree ##显示系统中的进程树
4.进程控制命令
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,masked
systemctl list-dependencies ##列出服务的倚赖
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target ##设定系统启动级别为图形模式