Skip to content

ps

ps: process status

查看系统中所有进程 ps aux | grep xxx

查看父子进程之间的关系 ps -ef | grep xxx

选项

  • a

    列出带有终端的所有用户的进程

  • x

    列出当前用户的所有进程,包括没有终端的进程。

  • u

    面向用户友好的显示风格

  • -e

    列出所有进程

  • -u

    列出某个用户关联的所有进程

  • -f

    显示完整格式的进程列表

ps -aux 信息说明

  • USER

    该进程由哪个用户产生

  • PID

    进程 ID 号

  • %CPU

    进程占用 CPU 资源的百分比

  • %MEM

    进程占用物理内存的百分比

  • VSZ

    进程占用虚拟内存的大小,单位 KB。

  • RSS

    进程占用实际物理内存的大小,单位 KB。

  • TTY

    进程在哪个终端中运行,对于 CentOS 来说,tty1 是图形化终端。tty2-tty6 是本地的字符界 面终端,pts/0-255 代表虚拟终端。

  • STAT

    进程状态,常见的有

    • R 运行状态

    • S 睡眠状态

    • T 暂停状态

    • Z 僵尸状态

    • s 包含子进程

    • l 多线程

      • 前台显示
    • < 高优先级

    • N 低优先级

  • START

    进程的启动时间

  • TIME

    进程占用 CPU 的运算时间

  • COMMAND

    调用进程的命令

ps -ef 信息说明

  • UID

  • PID

  • PPID

    父进程的 ID

  • C

    CPU 用于计算执行优先级的因子,数值越大,表明进程是 CPU 密集型运算,执行优先级会降低; 数值越小,表明进程是 I/O 密集型运算,执行优先级会提高。

  • STIME

  • TTY

  • TIME

  • CMD

kill 终止进程

通过进程号杀死进程 kill [选项] 进程号

通过进程名杀死进程,支持通配符 killall 进程名称

选项

  • -9

    表示强迫进程立即停止

pstree 查看进程树

yum install -y psmisc

  • -p

    显示进程的 PID

  • -u

    显示进程的所属用户

top 实时监控系统进程状态

选项

  • -d 秒数

    指定 top 命令每隔几秒更新,默认是 3s。

  • -i

    不显示任何闲置或僵尸进程

  • -p

    通过监控进程 ID 来监控某个进程的状态

top - 14:01:38 up 43 min, 1 user, load average: 0.00, 0.01, 0.01 Tasks: 84 total, 1 running, 83 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 999696 total, 647944 free, 110596 used, 241156 buff/cache KiB Swap: 1048572 total, 1048572 free, 0 used. 710092 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 128164 6820 4056 S 0.0 0.7 0:00.92 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u256:0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.20 rcu_sched

14:01:38 当前时间 43 min 运行时间 1 user 连接的用户数 load average 在过去的1分钟 5分钟 15分钟之内的平均负荷 Tasks 进程数 running 正在运行的 sleeping 睡眠进程 stopped 停止进程 zombie 僵尸进程 %Cpu(s) CPU 的占用 us 没有经过专门更改优先级的用户进程的占用 sy 系统进程的占用 ni 经过 nice 调整优先级之后的进程的占用 id 空闲(idle) wa 等待 I/O 的占用 hi 硬中断服务请求的占用 si 软中断服务器请求的占用 st 虚拟化设备的占用

PR 任务调度优先级 NI 用户指定的 nice 值 VIRT 虚拟内存占用大小 RES 物理内存占用大小 SHR 共享内存占用大小 TIME+ 精确到 0.01 s

shift + m 按内存占用排序 shift + p 按 cpu 占用排序 shit + n 按 pid 从大到小排序 u 监控某个用户的进程 k 终止进程

netstat 显示网络状态和端口占用信息

yum install -y net-tools

查看进程网络信息 netstat -anp | grep 进程号

查看网络端口号占用情况 netstat -nlp | grep 端口号

选项

  • -a

    显示所有正在监听和未监听的套接字

  • -n

    拒绝显示别名,能显示数字的全部转化成数字。

  • -l

    仅列出在监听的服务状态

  • -p

    显示哪个进程在调用

Proto 协议 Recv-Q 连接到 socket 后已经接收到但还没拷贝的字节数 Send-Q 连接到 socket 后已经发出但还没被接收到的的字节数 Local Address 本地地址 Foreign Address 远程地址
State 状态 PID/Program name 进程 ID 和名字