温馨提示×

linux进程如何查看用户

小樊
48
2026-07-10 06:16:03
栏目: 智能运维

在 Linux 中,查看进程属于哪个用户有多种常用方法,下面按使用场景给你总结一下。


一、使用 ps 查看进程用户(最常用)

1️⃣ 查看当前用户的进程

ps

2️⃣ 查看所有进程及其用户

ps -ef

输出示例:

UID   PID  PPID  C STIME TTY      TIME CMD
root  1234     1  0 10:00 ?    00:00:01 /usr/lib/systemd/systemd
user  5678  1234  0 10:01 pts/0  00:00:00 bash

其中:

  • UID:进程所属用户(用户名或 UID)

3️⃣ 以用户名为列显示(推荐)

ps aux

示例:

USER   PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root  1234  0.0  0.1  12345  6789 ?        Ss   10:00   0:01 systemd
user  5678  0.1  0.2  23456  7890 pts/0    S+   10:01   0:00 bash

USER 列就是进程所属用户


二、查看指定用户的进程

1️⃣ 查看某个用户的所有进程

ps -u 用户名

示例:

ps -u root
ps -u www-data

2️⃣ 使用 pgrep

pgrep -u 用户名

查看进程 PID:

pgrep -u root

查看完整命令:

pgrep -u root -a

三、使用 top / htop 实时查看

1️⃣ top

top

top 中:

  • 默认显示用户列(USER)
  • u,然后输入用户名,可过滤指定用户进程

2️⃣ htop(更直观,需安装)

htop
  • 默认显示 USER
  • 可按 F4 过滤用户

四、查看某个进程属于哪个用户

1️⃣ 已知 PID

ps -p PID -o user=

示例:

ps -p 1234 -o user=

2️⃣ 查看进程详细信息

ps -fp PID

五、通过 /proc 查看(底层方式)

cat /proc/PID/status | grep Uid

示例:

cat /proc/1234/status | grep Uid

输出:

Uid:    0       0       0       0
  • 第一个数字是 实际用户 ID
  • 可结合 /etc/passwd 查用户名

六、常见组合示例

查看所有进程并显示用户、PID、命令

ps -eo user,pid,cmd

查看某个程序是谁在运行

ps -eo user,pid,cmd | grep nginx

✅ 总结(最常用)

需求 推荐命令
查看所有进程及用户 ps aux
查看指定用户进程 ps -u 用户名
实时查看 top / htop
已知 PID 查用户 ps -p PID -o user=

如果你有具体场景(比如:排查某个进程是谁启动的、Docker 容器里、systemd 服务),可以告诉我,我可以给你更精准的命令。

0