Linux CentOS7 进程基础知识

Linux中,每个执行的程序都被称之为一个进程,每一个进程都会有一个ID号(进程号pid)

可以这么理解,程序运行起来就是进程,程序是静态的,进程是动态的

进程可能以两种方式存在,前台和后台,前台进程是用户在屏幕上可以操作的,后台进程则是实际在进行的

一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才会结束

比如,我在这里用某个软件给另一个设备的人发消息,消息是从我这里的界面,发到软件背后的服务器,然后这个过程中运行的服务程序就是后台程序

ps指令

ps是用来查看目前系统中,有哪些正在执行的进程,以及这些进程的执行状况

基本语法

bash 复制代码
ps [可选选项]

选项

-e 显示所有进程
-f 以全格式
-a 显示当前终端的所有进程信息
-u 以用户的格式显示进程信息
-x 显示后台进程运行的参数

要用的话一般是同时使用的 ps -aux,或者ps -ef

直接输出的显示

字段 说明
PID 进程识别号
TTY 终端机号
TIME 此进程所消耗cpu时间
CMD 正在执行的命令或进程名

aux选项的:

字段 说明
USER 进程执行用户
PID 进程执行号
%CPU 当前程序占用cpu百分比
%MEM 占用的实际物理内存百分比
VSZ 占用虚拟内存的大小(单位KB
RSS 物理内存占用大小(单位KB
TTY 终端信息(名称,缩写
STAT 进程运行状态
START 进程开始执行的时间
TIME 使用CPU的总时长
COMMAND 执行这个进程的程序名/命令名

还有STAT显示的状态分类

STAT的状态分类

S 睡眠(后面加字母符号的是优先级不同
s 该进程是会话的先导进程
N 表示几次呢拥有更低的优先级
R 正在运行
D 短期等待
Z 僵尸进程(要定时清除
T 被跟踪或被停止

示例

bash 复制代码
ps -aux | greq sshd	#过滤出远程登陆服务
ps -aux | greq bash	#过滤出终端

ef选项的(BSD风格):

字段 说明
UID 用户ID
PID 进程ID
PPID 父进程ID
C cpu用于计算执行优先级的因子,数值越大,表明进程是CPU密集型运算,执行优先级会降低
STIME 进程启动的时间
TTY 完整的终端名称
TIME CPU时间
CMD 启动进程所用的命令和参数

kill指令

因某些进程需要停止或消耗资源过大时可以选择使用kill停止该进程

基本语法

bash 复制代码
kill [选项] [进程号]	#通过进程号杀死进程
killall [进程名称]	#通过进程名称杀死进程,也可以使用

通配符

选项:

-9 强制终止

示例:

bash 复制代码
kill 11425		#结束进程号为11425的进程
killaall gedit	#将gedit及其子进程都关了

pstree指令

pstree指令可以用来更加直观的查看进程信息

基本语法

bash 复制代码
pstree [选项]

常用选项

-p 显示进程的PID

-u 显示进程的所属用户

示例:

bash 复制代码
pstree -u	
#显示进程同时显示其所属用户

父子进程

父进程指一个进程创建了一个或多个进程,这个创建他们的进程就是他们的父进程

子进程就是进程创建的进程,通常父进程关闭后子进程也会关闭

ps -ef的PPID可以看到进程的父进程的进程号(如果为0代表本身就是最开始的进程

相关推荐
꯭自꯭闭꯭16 分钟前
达梦事物特性及MVCC
linux·运维·数据库
91刘仁德1 小时前
HTTP协议详解:从URL到HTTP服务器的完整实战
服务器·网络·笔记·网络协议·http
亚川楼宇自控系统数据中心厂家2 小时前
实验室智能化管理系统|人环物智一体化管控平台
运维
羔羊++2 小时前
18_实验十七_其他命令与自定义启动变量
linux
zmsup3 小时前
Agent 上下文调优:结合 OpsArk 运维智能体,设计模型每一步真正需要的信息
运维·agent·上下文压缩·运维智能体·上下文调优
DYWorker0014 小时前
Linux驱动:RK3568 GMAC + YT8531C 千兆以太网全流程解剖
linux
吴声子夜歌5 小时前
Nginx应用与运维——Nginx负载均衡应用实战(二)
运维·nginx·负载均衡
lisanmengmeng5 小时前
NRPE 添加命令(一)
linux·运维·服务器
pt10436 小时前
CML网络仿真入门-2:使用CML模拟网络实验环境
运维·网络协议
树下水月6 小时前
Typora破解
linux·服务器·前端