一、进程
1.进程的定义:
就是一次程序的执行,进程拥有获取内存和释放内存的能力
2.僵尸进程:
线程没有释放内存的能力,当进程执行结束,线程没有结束,还在占用内存,导致当前进程卡在后台
(没有加线程等待,进程结束前线程没有结束后台挂死;进程结束内存没有释放)
进入任务管理器:ctrl+alt+delete
3.查看进程
1.ps 命令
命令一:ps查看进程 (当前用户终端正在执行的进程)
su 管理员权限
bash shell环境(打开命令行)
ps 执行的命令
命令二:-a 显示所有用户的所有进程
命令三:-u 以用户的格式输出 按照进程启动时间进行排序
命令四:-x 显示所有的进程
命令五:一般使用-aux
user: 进程的名字
pid: 进程的唯一标识符 如果要杀死进程一般使用pid
%cpu: cpu使用率
%MEM: 内存的使用率
vsz: 虚拟内存的大小
RSS:驻留中页的数量
TTY: 终端
? 未知的终端
STAT: 进程的状态
S 当进程处于休眠状态
R 运行状态
T 停止状态
X 死掉的进程
大于号 > 优先级
Z 僵死的进程
START: 启动的时间
Time: 运行时间
COMMAND:进程执行的命令
NI 进程的NICE值,即进程的优先级(-20~19之间),数值越大,优先级越低
命令六:-e 显示所进程包括没有终端的进程
命令七:-f 显示进程详细信息 树状格式来显示
命令八:-l长格式输出
多了F和S WCHAN(正在等待的进程资源)
二、top命令
top:仪表盘
每隔3秒自动刷新一次 使用q退出仪表盘
top命令
top -19:45:17 当前时间
up 系统运行时间
2 user 当前用户数
load average: 系统的负载(进程队列的平均长度)
0.00 0.01 0.05
五分 10分钟 15分钟(3个时间内进程队列的平均长度)(值大说明进程量大)
tasks: 任务数量
runing 正在运行的进程数量
sleeping 休眠的进程数
stopped 停止的进程
zombie 僵死的进程
三、杀死进程
在不知道pid进程号时有两种方式:
1.进程筛选:
| 管道符 将前面的命令输出的结构 传给后面的命令作为参数取使用
grep 筛选
第一步:找到pid
格式:
ps -aux | grep 进程名
第二步:执行强制删除
kill -9 pid
要在管理员权限下,否则不成功,报错没有权限
删除成功
2.如果不知道pid号可以直接使用pkill
格式:
pkill -9 进程名
四、后台运行
ping时一直占用终端,前台运行
&后台运行,后台执行,断不了
但是仅仅这样还不够,还会打断输入
这时就要用到重定向 输出
格式: 命令 【属性】【参数】 &
如果有输出需要做重定向输出
命令 【属性】【参数】> 文件 &
echo 输出
重定向输出 >
重定向输出并监听
nohup
不加&符号没有后台运行,无法打断
nohup 命令 &
jobs 查看当前终端正在运行的后台程序 如果关闭了终端就看不到了(但对于nohup的不起效)
可以使用 ps命令去查看
查看端口占用情况:lsof -i:端口号 面试出现频率较高