什么是进程
进程就是系统未完成并且正在进行的工作
查看进程的方式
##图形查看
在控制台输入gnome-system-monitor,即可显示进程的页面
##选择命令查看
| 名称 | 方法 |
|---|---|
| 所有进程 | ps -A |
| 在环境中的所有进程,不包含环境信息 | ps -a |
| 显示进程用户信息 | ps -u |
| 显示当前环境中运行的进程,包含环境信息 | ps -a |
| 列出系统中所有运行包含tty输出设备 | ps u |
| 显示进程父子关系 | ps f |
| 显示进程详细信息(系统资源的调用) | ps e |
##ps常用组合
显示系统中所有进程并显示进程用户————ps aux
显示进程详细信息并显示进程父子关系———ps ef
显示当前系统中的所有进程————————ps ax
显示当前系统进程树———————————pstree
##显示进程指定信息————ps -o xxx
| 名称 | 方法 |
|---|---|
| 进程名称 | comm |
| 进程所有人 | user |
| 进程所有组 | group |
| 进程cpu使用率 | %cpu |
| 进程内存使用率 | %mem |
| 进程id | pid |
| 进程优先级 | nice |
##进程排序
cpu的使用率从小到大排序————ps ax --sort = +%cup
cpu的使用率从大到小排序————ps ax --sort = -%cup
内存的使用率从小到大排序————ps ax --sort = +%mem
内存的使用率从大到小排序————ps ax --sort = -%mem
以cpu的使用率从小到大排序为例
进程的优先级
进程优先级范围(-20——19)
优先级查看ps ax -o pid,nice,comm
指定某个优先级开启进程——nice -n 优先级数字 进程名称
例如:nice -n -5 vim 代表开启vim并指定程序优先级为-5
改变进程优先级——renice -n 优先级数字 进程pid
例如:renice -n -5 1086 改变1806进程的优先级为-5
在使用ps ax -o pid,nice,name’查看进程的pid,优先级及其用户
##查看进程并过滤出gedit命令的进程
[root@localhost Desktop]# ps | grep gedit
2473 pts/0 00:00:00 gedit
##查看gedit进程的pid,优先级
[root@localhost Desktop]# ps ax -o pid,nice,comm | grep gedit
2473 0 gedit
##修改gedit进程的优先级
[root@localhost Desktop]# renice -n -5 2473
2473 (process ID) old priority 0, new priority -5
##查看修改是否准确
[root@localhost Desktop]# ps ax -o pid,nice,comm | grep gedit
2473 -5 gedit
环境中进程的前后台调用
| 名称 | 方法 |
|---|---|
| 查看被打入环境后台的程序 | jobs |
| 把占用终端的进程打入后台 | ctrl +z |
| 把后台进程调回前台 | fg jobsnum |
| 把后台暂停的进程运行 | bg jobsnum |
| 使命令直接在后台运行 | comm & |
##将vim在后台直接运行
[root@localhost Desktop]# vim &
[1] 3282
##使用gedit查看file文件,在使用ctrl+z把占用终端的进程打入后台
[root@localhost Desktop]# gedit file
^Z
[1]- Stopped vim
[2]+ Stopped gedit file
[root@localhost Desktop]# firefox
(process:3298): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0’ failed
^Z
[3]+ Stopped firefox
##查看被打入环境后台的程序
[root@localhost Desktop]# jobs
[1] Stopped vim
[2]- Stopped gedit file
[3]+ Stopped firefox
##把vim调回前台,如下图所示
[root@localhost Desktop]# fg 1
vim
[root@localhost Desktop]# jobs
[2]- Stopped gedit file
[3]+ Stopped firefox
使用fg查看gedit,直接调转到file页面,再将其打入后台
[root@localhost Desktop]# fg 2
gedit file
^Z
[2]+ Stopped gedit file
使用bg后,不会直接调转到file页面,但可以在file不被暂停,可以写入
[root@localhost Desktop]# bg 2
[2]+ gedit file &
vim被调回前台后
进程信号——kill
kill表示向内核发送进程信号
以下列表为常用的信号等级
| 信号等级 | 信号名称 | 备注 |
|---|---|---|
| 1 | 进程重新加载配置 | 不关闭程序,程序pid不会发生改变 |
| 2 | 删除进程在内存中的数据 | |
| 3 | 删除鼠标在内存中的数据 | 例如:在bash中让鼠标不显示 |
| 9 | 强行结束单个进程(不能被阻塞) | 强制执行 |
| 15 | 正常关闭进程 (可能会被阻塞) | 程序有可能不会执行该命令 |
| 18 | 运行暂停的进程 | |
| 19 | 暂停某个进程 (不能被阻塞) | |
| 20 | 把进程打入后台 (可以被阻塞) |
也可以使用man 7 signal查看信号详细信息
##kill的使用
kill有三种使用方式
1.kill -信号 进程pid
以信号等级9和15为例
##打开两个bash并查看其pid
[root@localhost Desktop]# ps ax -o pid,comm | grep bash
2086 bash
31298 bash
##向内核发送9使其强制关闭第二的bash,第二个bash被强制关闭,没有阻塞
[root@localhost Desktop]# kill -9 31298
[root@localhost Desktop]# ps ax -o pid,comm | grep bash
2086 bash
31479 bash
##向内核发送15使其正常关闭第二的bash,第二个bash没有关闭,证明发生阻塞
[root@localhost Desktop]# kill -15 31479
2.killall -信号 进程名字
可以处理进程名称相同的所有进程
##开启多个bash,查看开启情况
[root@localhost Desktop]# ps ax -o pid,comm | grep bash
2086 bash
31479 bash
31751 bash
31785 bash
##使用killall一次全部关闭
[root@localhost Desktop]# killall -9 bash
3.pkill -u student -信号
pkill是按照进程名称处理进程,可以多次切换student
进程的动态监控——top
在终端中输入top可以对进程进行动态监控
| 名称 | 方法 |
|---|---|
| 显示cpu每个核的负载 | 1 |
| 调整刷新频率 | s |
| CPU负载排序 | c |
| 内存使用量排序 | m |
| 查看帮助 | h |
| 查看指定用户进程 | u |
| 对指定进程发起信号 | k |
| 退出 | q |
控制服务
1.什么是服务
服务指在操作系统中,用以支持各种功能的程序
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd ##系统初始化进程
pstree ##显示系统中的进程树
##进程控制命令——systemctl
| 名称 | 方法 |
|---|---|
| 查看服务状态 | systemctl status sshd |
| 开启服务 | 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 |
| 列出服务的倚赖 | systemctl list-dependencies |
| 设定系统启动级别为多用户模式(无图形) | systemctl set-default multi-user.target |
| 设定系统启动级别为图形模式 | systemctl set-default graphical.target |
服务状态:inactive(不可用),active(可用)
开机启动的状态:disable,enable,static








614



被折叠的 条评论
为什么被折叠?



