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代表本身就是最开始的进程

相关推荐
Sokach10157 小时前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao1 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
A小辣椒4 天前
TShark:Wireshark CLI 功能
linux
A小辣椒4 天前
TShark:基础知识
linux
AlfredZhao4 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao5 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi