使用ps命令可查看Linux进程所属用户,ps -u 用户名可列出指定用户进程,如ps -u alice;结合aux可查看所有进程的用户信息,ps aux输出中USER列为进程所属用户;通过ps aux | grep 用户名可过滤特定用户进程;使用ps -N -u root可查看非root用户的进程,便于排查系统资源占用情况。

在Linux中查看进程所属用户,ps 命令是最常用的方法之一。通过结合 -u 选项和其他参数,可以快速筛选出特定用户的进程,也能反向查看每个进程运行在哪个用户身份下。
查看指定用户的进程(ps -u 使用方法)
使用 ps -u 用户名 可列出某个用户运行的所有进程。
- ps -u alice:显示用户 alice 的所有进程
- 通常配合 aux 使用:ps -u alice -o pid,ppid,cmd,%mem,%cpu,自定义输出字段更清晰
- 支持多个用户:ps -u alice,bob 或 ps -u alice -u bob
查看所有进程并显示所属用户
如果不指定用户,想查看系统中所有进程及其运行用户,可用:
- ps aux:a 表示所有终端,u 表示以用户格式输出,x 表示包括无控制终端的进程
- 输出第一列为 USER,即进程所属用户
- 例如:ps aux | head -10 可查看前10个进程的用户信息
结合 grep 过滤特定用户或进程
当进程较多时,可配合 grep 精准查找。
- ps aux | grep alice:找出所有属于 alice 的进程
- ps aux | grep nginx 再看 USER 列,可知 nginx 是哪个用户启动的
- 避免匹配到 grep 自身:可用 ps aux | grep [a]lice
使用 ps 的 --deselect 或 -N 反向筛选
若想查看“非某用户”的进程,可用取反方式。
- ps -N -u root:显示除 root 外的所有用户进程(-N 表示否定)
- 等价写法:ps aux -o pid,ppid,user,cmd | grep -v root
基本上就这些。掌握 ps -u 和 ps aux 配合字段输出与管道过滤,就能高效查看进程归属用户,排查权限或资源占用问题也更方便。










