linux进程相关命令

linux进程相关命令

知道一个程序的PID,可以进入目录/proc/PID查看进程的具体信息。

ps,pstree -p,ps aux,pgrep查看PID

PS

ps 命令是一个用于显示进程信息的常用命令。以下是 ps 命令的一些常用选项:

-e:显示所有进程,包括系统进程。

-f:显示完整的进程信息,包括进程的详细信息。

-l:显示更多的列,包括进程的状态、CPU 使用情况等。

-u:显示指定用户的进程信息。

-aux:结合 -a 和 -u 选项,显示所有用户的所有进程,并显示详细信息。

-p:显示指定进程号(PID)的进程信息。

-k --sort:按指定的列排序显示进程信息,常见的排序列包括 %cpu(CPU 使用率)、%mem(内存使用率)等。-%cpu倒序显示

-C:根据命令名显示进程信息。

-o:自定义输出格式,可以指定要显示的列。

--forest:以树状结构显示进程间的父子关系。

ps aux含义

USER: 进程的拥有者。这通常是运行该进程的用户帐户的名称。PID: 进程ID。每个进程都有一个唯一的ID,用于标识该进程。%CPU: 该进程占用的CPU使用率百分比。%MEM: 该进程占用的物理内存使用率百分比。VSZ: 虚拟内存大小,单位是KB。这表示进程使用的虚拟内存量。RSS: 常驻集大小,单位是KB。这表示进程在物理内存中占用的固定大小。TTY: 终端类型。如果进程没有与任何终端关联,则显示为"?"。STAT: 进程状态。这描述了进程的当前状态,例如运行中、休眠等。START: 进程启动的时间。TIME: 该进程实际使用CPU的时间,单位是小时:分钟:秒。COMMAND: 启动进程的命令名称或命令行。

STAT

在 ps aux 命令的输出中,STAT 列显示了进程的状态。这些状态通常是由一些字符表示的,每个字符代表了不同的状态。下面是一些常见的进程状态及其含义:

R:正在运行,或者可运行(可执行)。

S:处于休眠状态,包括睡眠状态。

D:不可中断的睡眠状态,通常是由于等待 I/O 操作完成而导致的。

T:已停止,可能是由于接收到了信号而被停止。

Z:僵尸状态,进程已经终止但父进程尚未对其进行清理。

<:高优先级进程。

N:低优先级进程。

L:位于内存锁中。

+:位于前台的进程组。

s:会话领导者。

这些状态字符可能会组合在一起,例如 R+ 表示正在运行且位于前台的进程组。

ps -ef含义

UID:用户ID,表示运行该进程的用户。PID:进程ID,每个进程都有一个唯一的ID。PPID:父进程ID,表示创建该进程的父进程的ID。C:CPU使用率,表示该进程占用的CPU百分比。STIME:进程启动的时间。TTY:终端类型,如果进程与某个终端关联,则显示该终端的名称;否则显示"?"。TIME:该进程实际使用CPU的时间,通常以分钟或小时为单位。CMD:启动进程的命令名称或命令行。

用法

-k:按指定的列排序显示进程信息,常见的排序列包括 %cpu(CPU 使用率)、%mem(内存使用率)等。-%cpu倒序显示

axo:查看进程的特定属性

ps axo pid,cmd,%mem,%cpu --sort %mem | head #显示pid,cmd,%mem,%cpu并以mem排序 --sort可以换成k

top

top 命令是一个常用的系统监视工具,在 Linux 和 Unix 系统中经常用于实时显示系统中各个进程的资源占用情况。通过 top 命令,用户可以查看 CPU 使用率、内存占用、进程列表等信息,并可以交互式地对进程进行管理。

选项:

-d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒;

-b:使用批处理模式输出。一般和"-n"选项合用,用于把 top 命令重定向到文件中;

-n 次数:指定 top 命令执行的次数。一般和"-"选项合用;

-p 进程PID:仅查看指定 ID 的进程;

-s:使 top 命令在安全模式中运行,避免在交互模式中出现错误;

-u 用户名:只监听某个用户的进程;

在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作:

? 或 h:显示交互模式的帮助;

c:按照 CPU 的使用率排序,默认就是此选项;

M:按照内存的使用率排序;

N:按照 PID 排序;

T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序;

k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号;

r:按照 PID 给某个进程重设优先级(Nice)值;

q:退出 top 命令;

总体系统信息:

uptime:系统的运行时间和平均负载。

tasks:当前运行的进程和线程数目。

CPU:总体 CPU 使用率和各个核心的使用情况。

内存(Memory):总体内存使用情况、可用内存和缓存。

进程信息:

PID:进程的标识符。

USER:运行进程的用户名。

PR(优先级):进程的优先级。

NI(Nice值):进程的优先级调整值。

VIRT(虚拟内存):进程使用的虚拟内存大小。

RES(常驻内存):进程实际使用的物理内存大小。

SHR(共享内存):进程共享的内存大小。

%CPU:进程占用 CPU 的使用率。

%MEM:进程占用内存的使用率。

TIME+:进程的累计 CPU 时间。

pgrep

查看指定的进程

-u 指定用户

-l: 显示进程名

-a: 显示完整格式的进程名

-P pid: 显示指定进程的子进程

pidof

知道程序名不知道PID

pstree

后面可以跟用户名

lsof

lsof 是一个用于列出系统中打开的文件(File)的工具,它可以显示当前系统中正在被打开的文件、目录和网络连接等信息。它的名字代表 "list open files"。

-i:显示网络相关信息,如打开的端口、连接状态等。这对于检查网络连接和端口占用情况非常有用。

-p:仅显示指定进程号(PID)相关信息。通过指定特定的 PID,可以查看该进程打开的文件和网络连接等信息。

-u:仅显示指定用户的相关信息。通过指定用户名,可以查看该用户打开的文件和网络连接等信息。

-c:仅显示指定进程名的相关信息。通过指定进程名,可以查看该进程打开的文件和网络连接等信息。

-t:仅显示进程号(PID),而不显示其他信息。这在需要获取进程号的场景中很有用。

当我们删除一个文件,但是空间没有被释放时,可以使用

lsof | grep delete

找出该进程号

/proc/PID/fd

找出删除文件,可以通过将该文件重新写入还原删除但没有释放空间的文件。

lsof过滤端口号

相关推荐

合作伙伴