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

相关推荐
xingyuzhisuan18 小时前
适合微调Llama 3 70B模型的最低GPU配置推荐
运维·人工智能·算法·llama·gpu算力
Harvy_没救了18 小时前
【网络运维】从开发到上线全流程简化方案
运维·网络
信看18 小时前
CM4 网口排查步骤
linux
idolao18 小时前
AutoTiny_5.0.0.1_win_x64自动化操作安装步骤详解(附AutoTiny自动化脚本与录制教程)
运维·自动化
精益数智工坊18 小时前
拆解设备维护管理系统的工单功能,解决设备维护管理派单慢难题
大数据·运维·网络·人工智能·精益工程
江湖有缘18 小时前
使用Docker部署Docker Compose文件管理工具Dockge
运维·docker·容器
苍煜18 小时前
Docker 私有仓库 Harbor 搭建与镜像推送(系列第六篇:企业私有镜像仓库实战)
运维·docker·容器
喵喵爱自由18 小时前
离线安装docker
运维·docker·容器
http阿拉丁神猫18 小时前
Docker知识点汇总(11~12)
运维·docker·容器
小杍随笔19 小时前
【WordPress 核心表】
linux·运维·服务器