文章目录
1.进程
程序 (program) 是放置在储存媒体中 ( 如硬盘、光盘、软盘、磁带等 ),为实体文件的型态存在。
进程: 程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码 (PID), 可以说,进程就是一个正在运行中的程序。
2.进程的状态
R (Running): 该程序正在运行中 。
S (Sleep):该程序目前正在睡眠状态 (idle), 但可以被唤醒(signal) 。
D:不可被唤醒的睡眠状态, 通常进程可能在等待 I/O 的情况。
T :停止状态 (stop),可能是在工作控制 ( 背景暂停 ) 或除错(traced) 状态。
Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。
3.查看进程
(1)图形中查看进程
鼠标点击左上角的Applications,然后查看里面的System Tools选项,点击里面的System Monitor
打开进程管理器
(2)用命令查看进程
输入ps
查看进程
ps常加参数:
ps -A 所有进程
ps -a 在环境中的所有进程,不包含环境信息
ps -u 显示进程用户信息
ps a 显示当前环境中运行的进程,包含环境信息
ps x 列出系统中所有运行包含tty输出设备
ps f 显示进程的父子关系
ps e 显示进程的详细信息(系统资源的调用)
ps l 较长、较详细的将该 PID 的的信息列出
ps常用的组合参数:
ps aux 显示系统中所有进程并显示进程用户
ps ef 显示进程详细信息并显示进程父子关系
ps ax 显示当前系统中的所有进程
pstree 显示当前系统的进程树
显示进程指定信息:
输入ps -o xxx
显示进程的指定信息
常用的信息有如下:
comm 进程名称
user 进程所有人
group 进程所有组
%cpu 进程cpu使用率
%mem 进程内存使用率
pid 进程id
nice 进程优先级
可以看到进程的stat信息中有多个字符,它们的含义分别如下:
’ S ’ 进程的状态
’ l ’ 内存中有锁定空间
’ N ’ 优先级低
’ < ’ 优先级高
’ + ’ 前台运行
’ s ’ 顶级进程
进程排序:
ps ax --sort=xxx -o xxx (升序排列)
ps ax --sort= - xxx -o xxx (降序排列)
" = "后面跟要排序的信息,-o 后跟要显示的信息
搜索指定进程
ps -aux | grep 进程关键字
这个命令用于搜索包含关键字的进程
4.进程的优先级
(1)优先级的范围
进程优先级的范围是: -20~19
(2)优先级的查看
进程的信息中有一项nice就是指进程的优先级。
输入watch -n 1 ps -a -o comm,stat,pid,nice
可以查看进程的优先级
(3)设定进程的优先级
- 输入
nice -n 优先级
指定优先级
-输入renice -n 优先级 pid
指定的pid进程重新设定新的优先级
5.如何控制shell中进程的前后台调用
工作管理:工作管理是用在 bash 环境下的 ,当我们登陆系统取得 bash shell 之后 ,在单一终端机接口下同时进行多个工作的行为管理。举例来说 , 我们在登陆 bash 后, 想要一边进行数据搜寻、一边打开浏览器 , 还可以一边进行 vim 程序撰写 。 这个就牵扯到工作的前后台管理。
工作管理的常用命令:
命令 & 使job 在后台运行
ctrl+Z 把已经打开的进程打入后台 , 并且不运行
fg 将后台的 job 调回前台
bg 后台不运行的进程运行起来
jobs 查看当前 bash 的 job
jobs -l 查看当前 bash 的 job,并显示该 job 的状态与 PID
6.进程信号
(1)常用的信号等级
输入man 7 signal
查看信号的详细信息
1 在程序不重启的情况下重新加载配置
2 清除指定程序在内存中的数据
3 清除鼠标在内存中的数据
9 强行结束某个进程,不会被阻塞
15 正常关闭某个进程,可能会被阻塞
18 继续运行暂停的进程
19 暂停指定进程,不会被阻塞
20 暂停指定进程,会被阻塞
(2)结束进程的方式
kill -信号 pid
killall -信号 进程名称
pkill -u username -信号 结束某个用户的所有进程
7.进程的动态监控
输入top
可以动态监控进程,查看进程信息
在该界面中还可以按以下按键执行相应的操作:
s : 修改进程刷新间隔时间
m : 根据内存占有率进行排序
c : 根据 cpu 占有率进行排序
u : 后面输入用户名,用来查看该用户发起的所有进程
k : 后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来给某个进程发起一信号
q : 退出进程查看界面
h : 显示 top 命令的帮助