linux进程相关命令

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

PS

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

  1. -e:显示所有进程,包括系统进程。
  2. -f:显示完整的进程信息,包括进程的详细信息。
  3. -l:显示更多的列,包括进程的状态、CPU 使用情况等。
  4. -u:显示指定用户的进程信息。
  5. -aux:结合 -a 和 -u 选项,显示所有用户的所有进程,并显示详细信息。
  6. -p:显示指定进程号(PID)的进程信息。
  7. -k --sort:按指定的列排序显示进程信息,常见的排序列包括 %cpu(CPU 使用率)、%mem(内存使用率)等。-%cpu倒序显示
  8. -C:根据命令名显示进程信息。
  9. -o:自定义输出格式,可以指定要显示的列。
  10. --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过滤端口号

 

posted @ 2024-04-21 16:51  hx_ky36  阅读(343)  评论(0编辑  收藏  举报