linux ps 命令

时间:2022-05-14 23:39:04

ps命令是用来查看系统运行的进程

-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
-l 长格式(有F,wchan,C 等字段)
-j 作业格式
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
h 不显示第一行

  常用的命令

1 查看所有进程
ps -ef
ps aux 2 显示具体用户的进程
使用"-u"选项后跟用户名来过滤所属用户的进程。多个用户名可以用逗号分隔。
ps -f -u www 3. 通过名字或者进程id显示进程
通过"-C"选项后面加上名字或者命令来搜索进程。
ps -C nginx 要通过进程id显示进程,就使用"-p"选项,并且还可以通过逗号分隔来指定多个进程id。
ps -f -p 1,2,3 "-C"必须提供精确的进程名,并且它并不能通过部分名字或者通配符查找。为了更灵活地搜索进程列表,通常使用grep命令。
ps -ef | grep nginx 4. 通过cpu或者内存使用排序进程
系统管理员通常想要找出那些消耗最多内存或者CPU的进程。排序选项会基于特定的字段或者参数来排序进程列表。 可以用'--sort'指定多个字段,并用逗号分割。除此之外,字段前面还可以跟上'-'或者'+'的前缀来相应地表示递减和递增排序。这里有很多的用于排序的选项,通过man页来获取完整的列表。
ps aux --sort=-pcpu,+pmem 显示前5名最耗cpu的进程。
ps aux --sort=-pcpu | head -5

  参考网站  http://www.binarytides.com/linux-ps-command/