ps命令

Linux是一个多任务、多用户的操作系统,因此它允许多个进程同时运行而不相互干扰,进程是Linux操作系统的重要基本概念之一,进程是程序的执行实例,在操作系统中执行不同的任务。Linux为我们提供了一个名为ps的实用程序,用于查看与系统上的进程相关的信息,它是process status进程状态的缩写,ps命令用于列出当前正在运行的进程,它们的pid以及一些其他信息取决于不同的选项,它从/proc文件系统中的虚拟文件读取进程信息,/proc包含虚拟文件,这就是它被称为虚拟文件系统的原因,process status命令ps显示有关活动进程的信息,类似于windows的任务管理器,每个操作系统的ps版本都略有不同,因此若要是需要获取详细情况则需要查阅操作系统的wiki

语法

ps [options]

参数

ps命令有多种类别的参数可以选择: simple|list|output|threads|misc|all

Simple Process Selection

Process Selection By List

Output Format Control

Thread Display

Miscellaneous options

示例

显示当前shell的进程。

ps

查看所有正在运行的进程。

ps -e

通常查看所有进程可以与管道以及grep命令结合用以过滤,例如我们查看与nginx有关的所有进程。

 ps -e | grep nginx

查看除会话引线和未与终端关联的进程之外的所有进程。

ps -a

查看www用户的所有进程。

ps -u www

查看www组的所有进程。

ps -G www

使用-f查看完整格式列表。

ps -f

按用户自定义格式查看进程。

ps -aN --format cmd,pid,user,ppid

根据内存占用情况将进程排序。

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem

显示所有当前进程,为了便于查看可以结合管道和less命令来使用。

ps -ax | less

使用aux参数,加入CPU与内存用量信息,来显示全面的信息。

ps -aux | less

根据CPU使用将进程降序排序。

ps -aux --sort -pcpu | less

根据内存使用将进程降序排序。

ps -aux --sort -pmem | less

合并内存与CPU的整体使用情况进行排序,并只显示前10个结果。

ps -aux --sort -pcpu,+pmem | head -n 10

参考

https://www.computerhope.com/unix/ups.htm
https://www.runoob.com/linux/linux-comm-ps.html
https://www.geeksforgeeks.org/ps-command-in-linux-with-examples/