ps----查看系统进程
简介
原文链接:https://culturesun.site/index.php/archives/263.html
ps命令经常用,但是从来没有系统学习。
而且,在不同的Linux发行版系统中,ps命令的使用也是有略微差别的。
详解
使用ps --help
命令查看帮助文档
┌──(root㉿kali)-[~]
└─# ps --help
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
or 'ps --help <s|l|o|t|m|a>'
for additional help text.
For more details see ps(1).
┌──(root㉿kali)-[~]
└─# ps --help simple
Usage:
ps [options]
Basic options:
-A, -e all processes
-a all with tty, except session leaders
a all with tty, including other users
-d all except session leaders
-N, --deselect negate selection
r only running processes
T all processes on this terminal
x processes without controlling ttys
For more details see ps(1).
┌──(root㉿kali)-[~]
└─# ps --help s
Usage:
ps [options]
Basic options:
-A, -e all processes
-a all with tty, except session leaders
a all with tty, including other users
-d all except session leaders
-N, --deselect negate selection
r only running processes
T all processes on this terminal
x processes without controlling ttys
For more details see ps(1).
ps命令的模块较多,要使用ps --help 模块名
,如上述的ps --help simple(可简称s)
。
常用参数
---|---
-a| 显示所有进程,包括其他用户的进程。
-u| 显示指定用户的进程信息。
-x| 显示所有进程,包括没有控制终端的进程。
-e| 显示所有进程,等同于ps -A。
-f| 显示进程的详细信息,包括进程的UID、PPID、CPU占用率等。
-l| 显示进程的长格式信息,包括进程的UID、PPID、CPU占用率、内存占用率等。
-p| 显示指定进程号的进程信息。
除上述简单参数,还有一些高级参数
- --sort
用于指定进程信息的排序方式。可以使用以下参数值:
---|----
%cpu| 按照CPU占用率排序。
%mem| 按照内存占用率排序。
pid |按照进程号排序。
ppid| 按照父进程号排序。
start_time| 按照进程启动时间排序。
time| 按照进程运行时间排序。
例如,要按照CPU占用率从高到低排序显示所有进程的信息,可以使用命令:
ps -eo pid,ppid,cmd,%cpu --sort=-%cpu
该命令会显示所有进程的PID、PPID、命令和CPU占用率,并按照CPU占用率从高到低排序。
- --forest
用于显示进程树,包括进程的父子关系。还有一个与之类似的命令----pstree
,也是查看进程树。
例如,要显示所有进程的进程树,可以使用命令:
ps -ef --forest
该命令会显示所有进程的进程树,包括进程的父子关系。 - --headers
用于显示进程信息的表头。
例如,要显示所有进程的PID、PPID、命令和CPU占用率,并显示表头,可以使用命令:
ps -eo pid,ppid,cmd,%cpu --headers
该命令会显示所有进程的PID、PPID、命令和CPU占用率,并显示表头。 - no-headers
用于不显示进程信息的表头。
例如,要显示所有进程的PID、PPID、命令和CPU占用率,并不显示表头,可以使用命令:
ps -eo pid,ppid,cmd,%cpu --no-headers
该命令会显示所有进程的PID、PPID、命令和CPU占用率,并不显示表头。 - --user
用于指定要查看的用户的进程信息。
例如,要查看用户root的进程信息,可以使用命令:
ps -u root
该命令会显示用户root的进程信息。
使用技巧
- 使用
grep
命令过滤进程信息
有时候,我们只需要查看某个进程或者某个用户的进程信息,可以使用grep
命令来过滤进程信息。例如,要查看所有以nginx
开头的进程信息,可以使用命令:
ps -ef | grep nginx
该命令会先使用ps -ef
命令显示所有进程的详细信息,然后使用grep
命令过滤出所有以nginx
开头的进程信息。
- 使用
watch
命令实时查看进程信息
有时候,我们需要实时查看进程的信息,可以使用watch
命令实现。例如,要实时查看所有进程的CPU占用率,可以使用命令:
watch -n 1 'ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head'
该命令会每秒钟执行一次ps
命令,显示所有进程的PID、PPID、命令和CPU占用率,并按照CPU占用率从高到低排序,然后只显示前10行。
- 使用
top
命令查看进程信息
top
命令是一个非常强大的进程查看工具,可以实时查看进程的信息。可以使用top
命令来查看进程的CPU占用率、内存占用率等信息。例如,要查看所有进程的CPU占用率,可以使用命令:
top
该命令会实时显示所有进程的CPU占用率、内存占用率等信息,并按照CPU占用率从高到低排序。
- 使用
pstree
命令查看进程树
pstree
命令可以显示进程树,包括进程的父子关系。例如,要查看所有进程的进程树,可以使用命令:
pstree
该命令会显示所有进程的进程树,包括进程的父子关系。
- 使用
pidof
命令查找进程号
pidof
命令可以根据进程名查找进程号。例如,要查找nginx
进程的进程号,可以使用命令:
pidof nginx
该命令会显示nginx
进程的进程号。
结语
学无止境啊!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律