进程管理

进程管理

【前言】

程序:

(比如公司)

 

l  保存在硬盘、光盘等介质可执行代码

l  静态保存的代码(二进制)

进程:

(比如部门)

 

l  在CPU及内存中运行的过程

l  动态的代码(有生命周期和状态)

l  有父、子进程

线程(比如员工)与进程:

 

l  资源分配与调度

l  进程是资源调配的基本单位

l  线程是程序执行的最小单位

一、查看进程信息

1.1 查看静态的进程统计信息——ps

1 | ps -aux(参数)

 

参数

说明

-u

列出进程的用户

-a

显示终端上的所有进程

-x

所有的终端进程

 

名称

描述

USER

启动该进程的用户账号名称

PID

进程的ID,当前系统中是唯一的

%CPU

占用的CPU百分比

%MEM

占用内存的百分比

VSZ

该进程使用的虚拟内存量(KB)

RSS

该进程占用的物理内存量(KB)

TTY

启动进程的终端名。不是从终端启动的进程则显示为?

STAT

该进程的状态。(见表格下详解)

START

该进程被触发启动时间

TIME

该进程实际使用CPU运行的时间

COMMAND

进程的启动命令

 

 

STAT:

D:不可被唤醒的休眠状态;

R:正在运行状态;

S:处于休眠状态,可被唤醒;

T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;

Z:僵厂进程,进程己经中止,但是部分程序还在内存当中 ,但其父进程无法正常中止它

 

僵厂进程:

僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源

 

1.2 查看静态的进程统计信息——ps -elf

1 | ps -elf(参数)

 

参数       说明

-e   系统内所有进程

-l    长格式显示

-f    完整的格式显示

 

      

名称

描述

F

内核分配给进程的系统标记

s

进程的状态

UID

启动这些进程的用户

PID

进程的进程ID,每个进程都有一个唯一的PID

PPID

父进程的进程号(如果该进程是由另—个进程启动的)

C

进程生命周期中的CPU利用率

PRI

进程的优先级(越大的数字代表越低的优先级)

NI

谦让度值用来参与决定优先级

ADDR

进程的内存地址

sz

假如进程被换出,所需交换空间的大致大小

WCHAN

若该进程在睡眠,则显示睡眠中的系统函数名

STIME

进程启动时的系统时间

TTY

进程启动时的终端设备

TIME

运行进程需要的累计CPU时间

CMD

进程的启动命令

1.3 查看动态的进程排名信息——top

1 | [root@Kiro]# top

 

 

 

 

top命令

命令

说明

P键

根据CPU使用百分比大小进行排序

M键

根据驻留内存大小进行排序

N键

根据启动时间进行排序

c键

切换显示命令名称和完整命令行

h键

可以获得top程序的在线帮助信息

k键

根据提示输入指定进程的PID号并按Enter键终止对应的进程

q键

退出top程序

数字1键

显示CPU个数和状态

 

top各行解释

第一行:任务队列信息

 

信息

说明

12:45:44

系统时间

up 3:55

系统已运行时长

3 users

当前登录用户数

load average: 0.08, 0.04, 0.05

系统负载,即单位时间内系统处理的任务数,后面三个数值分别为8分钟、4分钟、5分钟前到现在的平均值

第二行:进程信息

 

信息

说明

Tasks

总进程数

running

正在运行的进程数

sleeping

休眠的进程数

stopped

中止的进程数

zombie

僵死的进程数

第三行:CPU的信息

 

信息

说明

us

用户占用

sy

内核占用

ni

优先级调度占用

id

空闲CPU,要了解空闲的 CPU 的百分比,主要看 %id 部分

wa

I/O 等待占用

hi

硬件中断占用

si

软件中断占用

st

虚拟化占用

 

第四行:内存的信息

 

信息

说明

total

总内存空间

free

空闲内存

used

已用内存

buff/cache

物理内存和交换内存的缓冲区总和

第五行:交换空间的信息

 

信息

说明

total

总交换空间

free

空闲交换空间

used

已用交换空间

avail Mem

可用物理空间

1.4 根据特定条件查看进程信息——pgrep

 

[root@Kiro opt]# pgrep -l -U kiro

18505 gnome-keyring-d

18510 gnome-session-b

18519 dbus-launch

18520 dbus-daemon

 

参数

说明

-l

显示进程名

-U

指定特定用户

-t

指定终端

 

 

 

1.4 以树形结构列出进程信息——pstree

pstree命令可以查看当前系统的进程树,包括个各进程对应的PID号、用户名、完整命令等信息

 

选项

意义

-A

各进程树之间的连接以ASCII字符来连接

-u

各进程树之间的连接以Unicode字符来连接,在某些终端界面下可能会有错误

-p

同时列出每个进程的PID

-u

同时列出每个进程的所属账号名称

 

不用加-u 因为已经指定用户信息了

 

 

二、进程的启动与控制

2.1 启动进程

2.1.1 手工启动

前台启动:用户输入命令,直接执行程序

后台启动:在命令行尾加入“&”符号

输出信息中包括后台任务序号、PID号

 

进程启动后会直接放入后台,而不占用前台的命令操作界面,方便用户进行其他操作:

 

 

2.1.2 进程的前后台调度(Ctrl + Z 组合键、 jobs命令和fg命令)

l  Ctrl + Z 组合键: 将当前进程挂起,即调入后台并停止执行

l  jobs命令: 查看处于后台的任务列表

[-l]选项显示PID号

 

fg命令: 将后台进程恢复到前台运行,可指定任务序列号

[root@localhost ~]# jobs

[1]- Stopped    cp /dev/cdrom mycd.iso

[2]+ Stopped    top

[root@localhost ~]# fg 1

2.1.3 终止进程的运行

l  Ctrl+C组合键

中断正在执行的命令

 

 

 

kill、killall命令

kill用于终止指定PID号的进程 (杀死组进程时只能啥本身)

killall用于终止指定名称相关的所有进程 (杀死组进程时能杀死全部)

-9选项用于强制终止

 

pkill命令

-U

根据进程所属的用户名终止相应进程

-t

根据进程所在的终端终止相应进程

根据特定条件终止相应的进程 常用命令选项

 

posted @ 2023-11-22 08:54  小阳长不高了  阅读(21)  评论(0)    收藏  举报