进程大体分为三类:
交互进程:在shell下通过执行程序产生的进程,可在前台或后台运行
批处理进程:一个进程序列
守护进程:英文名称Demon,又称监控进程,是指哪些在后台运行,等待用户或其他应用程序调用,并且没有控制终端的进程,通常可以随着操作系统的启动而运行,也可将其称为服务,守护进程是服务的具体实现,例如http是Apache服务器·的守护进程。
Linux守护进程按照功能可以区分为系统守护进程和网络守护进程。系统守护进程又称系统服务,是指那些为系统本身或者系统用户提供的服务,主要用于当前系统。网络守护进程又称网络服务,是指提供客户端调用的服务,主要用于实现远程网络访问。
PS进程的主要参数有:
PID:进程号,用于唯一标识进度
PPID:父进程号,创建某进程的上一个进程的进程号
USER:启用某个进程的用户ID和该用户所属组的ID
STAT:进程状态,进程可能处于多种状态,如运行R、停止T、睡眠S、僵死Z、高优先级<、低优先级N、内存页面被锁定L、多线程进程1、前台进程组+等等
PRIORITY:进程的优先级
%CPU:CPU占用率
%MEM:内存占用率
VSZ:占用虚拟内存
RSS:占用实际内存
TTY:进程运行的终端
START:进程启动时间
TIME:CPU占用进程的总时间
COMMAND:进程文件、进程名
TOP进程的主要参数有:
PR:优先级
NI:nice值(负值表示高优先级,正值表示低优先级)
VIRT:虚拟内存
RES:实际内存
SHR:共享内存大小
S:进程状态
查看进程:
查看进程有两个命令,一个是ps,一个是top,两个的语法都是在后面加选项。
ps是静态监控进程;top是间隔性动态刷新进程信息,默认时间为1秒
ps:
常用的选项有:a表示显示系统中所有用户的进程;x表示显示没有控制终端的进程及后台进程;-e表示显示所有进程;r表示只显示正在运行的进程;u表示显示进程所有者的信息;-f按全格式显示(列出进程间父子关系);-I按长格式显示。注意有些选项之前没有连字符(-)。
axu
最常用的是aux,ps aux就能看到大部分想看的信息。
如果不带任何选项,则仅显示当前控制台的进程。
axo
如果你不想显示那么多信息,只想看自己想看的信息,那么可以用axo,只需要ps axo 想看的信息
例如这里就只显示%cpu的信息
管道操作符
ps可以和管道操作符一起使用
例如:下方第一个是只显示前三行,当然相对的可以使用tail替换head,从末尾开始显示。
第二个指令搜索了root相关的进程
top:
-s表示top命令在安全模式中运行,不能使用交互命令;-c表示显示整个命令行而不是只显示命令名
使用top命令后,会不断地监控进程,此时不能输入其他命令,可以直接按q退出,继续回到输入命令行。
输入top后我们就进入了一个交互模式,可以和显示进程的top进程进行一系列的交互
例如
M
按大写的M,会显示内存(%MEM)占用从大到小排列
P
如果按P,会按照%CPU的大小从上到下排序
n
如果按n,进程会按照id从大到小排序
改变刷新频率
可以使用-d参数改变top检测进程的刷新频率,例如top -d 10就是将每秒刷新变成每10秒刷新
单独查看进程
top也是可以单独查看进程的,但这种查看进程必须要知道pid
我们使用-p参数来实现:top -p pid
我们首先使用想搜寻的关键字来代替pid,得到提示root这个pid不正确,意味着-p这个参数只能用pid来搜索,于是我们输入15,top就可以识别这个pid并且显示它
杀死进程
首先我们打开一个vim进程,准备杀死它
我们用ps搜索关于vim的程序,找到关于文件1.txt的进程,记录它的id号是3343
我们执行杀死指令kill
kill -15 3343 (id号)
发现vim反馈结束
这里的-15是送出的信号,既可以是信号名也可以是对应的数字。我们可以使用kill -l进行查看
进程优先级
使用nice指令可以调整进程优先级,优先级名称为NI,范围为-20~19,-20为最大,19为最小,系统进程默认为0.
nice的语法是nice 选项 命令 参数
这里不展示改变进程优先级