linux进程相关命令
/proc/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过滤端口号