1.查看进程
(1)利用图形方式查看
命令:gnome-system-monitor
输入命令会则会出现进程的图形界面,结果如下:
(2)进程查看命令
命令含义
ps a 在shell中运行的所有进程,包含环境自身信息
ps -A 系统中所有的进程,包括环境
ps -a 在shell中运行的所有进程,不包括shell自身信息
ps -d 显示系统中所有进程,除了shell信息
ps -u 显示进程的用户,pid,cpu的使用率等
ps e 显示进程的扩展性,系统的详细信息,调用的系统资源
ps x 显示所有有输入设备终端的,tty是能显示出字符设备的
ps f 显示进程的从属关系(不一定父进程结束,子进程也结束)。孤儿进程受系统初始化控制 (父进程被强行关闭)
ps -A
系统中所有的进程,包括环境
ps -a
在shell中运行的所有进程,不包括shell自身信息
ps a
在shell中运行的所有进程,包含环境自身信息
ps -u
显示进程的用户,pid,cpu的使用率等
ps x
显示所有有输入设备终端的,tty是能显示出字符设备的
ps f
显示进程的从属关系(不一定父进程结束,子进程也结束)
ps e
显示进程的扩展性,系统的详细信息,调用的系统资源
(3)ps常用组合
命令含义
ps aux 显示当前系统中所有进程并显示进程用户
ps ef 显示进程详细信息并显示进程父子关系
ps ax 显示当前系统中的所有进程
pstree 显示当前系统的进程树
ps aux
显示系统中所有进程并显示进程用户:
ps ef
显示进程详细信息并显示进程父子关系
ps ax
显示当前系统中的所有进程
pstree
显示当前系统的进程树
(4)显示进程指定信息
ps -o comm 显示进程名称
ps -o group 显示进程的组
ps -o user 显示进程的使用者
ps -o %cpu 显示进程的cpu使用率
ps -o %mem 显示进程的内存使用率
ps -o pid 显示进程id
ps -o nice 显示进程的优先级(优先级的范围是-29~19,越负优先级越高)
ps -o stat 显示进程运行状态
ps -o tty 显示进程输出字符设备的
ps -o comm
显示进程名称
ps -o user
显示进程所有人
ps -o group
显示进程所有组
ps -o %cpu
显示进程cou使用率
ps -o pid
显示进程id
ps -o nice
显示进程优先级
ps -o stat
显示进程运行状态
(5)进程排序
进程需要的资源越多,影响就越大,通过排序可以对进程进行进一步了解。
ps ax --sort=+%cpu/-%cpu 对cpu使用率的进程进行由小到大/由大到小的排序
ps ax --sort=+%mem/-%mem 对内存使用率的进程进行由小到大/由大到小的排序
1.对进程中的cpu进行从小到大排序
只显示cup使用率并排序
对进程中的cpu进行从大到小排序
只显示cpu使用率,并从大到小排序
2.对进程中的内存进行从小到大排序
只显示内存使用率,并从小到大排序
对进程中的内存进行从大到小排序
只显示内存使用率,并从大到小排序
(6)stat中显示的信息
符号 显示的信息
S 进程状态
l 内存中有锁定空间
N 优先级低
< 优先级高
+ 前台运行
s 顶级过程
注意:
<表示进程的优先级小于默认,l表示有一片锁定的空间,不能被回收,S表示进程状态,Ss进程状态是顶级进程,S<l表示高优先级内存有锁定空间,R+表示正在运行
2.进程优先级
<1>进程的优先级范围:-20~19
<2>优先级查看
ps ax -o pid,nice,comm
<3>指定某个优先级开启进程
格式如下:
nice -n 优先级数字 进程名称
实验如下:
用watch监视:
watch -n 1 ps a -o stat,user,pid,comm,nice
<4>改变进程优先级
格式如下:
renice -n 优先级数字 进程pid
实验如下:
watch监视:
3.环境中进程的前后台调用
命令 含义
jobs 查看被打入环境后台的进程
ctrl+z 把占用终端的进程打入后台
fg jobsnum 把后台进程调回前台
bg jobsnum 把后台暂停的进程运行
comm & 让命令直接在后台运行
4.kill控制进程
信号是一个动作的标识
(1)常用信号等级
等级 | 含义 |
1 | 进程重新加载配置 |
2 | 删除进程在内存中的数据 |
3 | 删除鼠标在内存中的数据 |
9 | 强行结束但个进程(不能被阻塞) |
15 | 正常关闭进程(可能会被阻塞) |
18 | 运行暂停的进程 |
19 | 暂停某个进程(不能被i阻塞) |
20 | 把进程打入后台(可以被阻塞) |
==(2)kill的用法==
kill -信号 进程pid 单个执行
killall -信号 进程名字 批量执行
pkill -u student -信号 指定执行的用户
实验如下:
==kill -信号 进程 pid==
1.删除进程在内存中的数据
==killall -信号 进程名称==
==pkill -u 用户名称 -信号==
3)
SIGHUP | 终止进程 |
SIGINT | 终止进程 |
SIGQUIT | 建立CORE文件 |
STGILL | 建立CORE文件 |
SIGTARP | 建立CORE文件 |
SIGBUS | 建立CORE文件 |
SIGSEGV | 建立CORE文件 |
SIGFPE | 建立CORE文件 |
SIGIOT | 建立CORE文件 |
SIGKILL | 终止进程 |
SIGPIPE | 终止进程 |
SIGALARM | 终止进程 |
SIGTERM | 终止进程 |
5.进程的动态监控top
1 | 显示cpu每个核的负载 |
s | 调整刷新频率 |
c | CPU负载排序 |
m | 内存使用量排序 |
h | 查看帮助 |
u | 查看指定用户进程 |
k | 对指定进程发起信号 |
q | 退出 |
具体操作如下:
6.控制服务
系统初始化进程可以对服务进行相应控制
系统初始化进程有两个:
systemd 系统初始化进程
pstree 显示系统中的进程树
进程控制命令
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 设定系统启动级别为图形模式
reload