流程是操作系统的主要组成部分之一。所有用户端甚至内核端的操作都是通过进程执行的。进程通常创建、运行和终止。这个生命周期的过程大体相同。在这个生命周期中,我们可能需要获得更多有关流程的信息。ps公司 命令是最常用的命令,用于列出和获取有关进程的信息。
列出当前用户进程
可以列出流程,而不向ps提供任何选项 命令。但这将只列出当前用户的进程,而不列出其他系统、用户或根用户进程。
$ ps

BSD语法
ps
命令是一种非常通用的工具。ps公司 还使用了其他Unix变体操作系统。BSD提供了不带破折号的选项。因此,通常没有区别,但了解BSD语法是有益的。下面的示例使用BSD语法。
ps aux
列出所有进程
在前面的步骤中,我们列出了仅针对当前用户在Linux系统上运行的进程。但一般来说,我们需要在一个快照中列出所有进程。我们可以提供 -ax
用于列出所有进程的选项。
$ ps -A

-
PID
显示进程ID -
TTY
显示正在运行的控制台 -
TIME
显示已用CPU时间 -
CMD
显示完整的命令和线程编号
将进程列为树
在上一个示例中,我们以列表格式打印了所有进程。有一种替代的表示格式,名为Tree。树格式是一种分层格式,它提供有关父级和子级关系的可视化信息。
$ ps -A --forest

列表进程 信息
在列出流程的同时,我们可以打印有关流程的更多信息。我们将使用 -u
此详细信息的选项。
$ ps -A l

-
UID
显示进程的用户ID -
PID
显示进程ID -
PPID
显示父进程ID -
PRI
显示出很好的价值 -
STAT
显示进程的当前状态 -
TTY
显示当前控制台号码(如果已连接)
相关文章: 如何检查和监控电脑/个人电脑的温度?
仅列出指定的进程
在列出进程时,我们可能需要根据进程或命令名进行筛选。在这里我们将使用 -C
筛选器操作的参数和进程名称。
$ ps -C acpid
只打印特定的PID进程
另一种根据进程的PID过滤进程id的方法。我们可以根据给定的PID进行过滤。我们将使用 -p
选项和PID进行过滤。在本例中,我们将根据多个进程的IP地址过滤它们。
$ ps -p 1331,1773

仅打印特定的用户进程
另一个有用的过滤机制是根据进程的所有者或用户过滤进程。我们将使用 -u
选项和要筛选的用户名。在这个例子中,我们要过滤用户名 ismail
.
$ ps -u ismail
![图片[6]-Linux ps命令教程-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2017/06/poftut_img_5937feb8e1f97.png)
显示进程线程
众所周知,Linux提供线程来提高进程的效率。线程是在进程下创建的,并由父进程完成给定的工作。我们将使用 --ppid
选项以列出子线程。
$ ps --ppid 1331
根据Cpu使用情况对进程进行排序
默认情况下,列表进程使用PID进行排序。排序过程还有其他选择。我们可以使用 --sort=pcpu
选项如下。
$ ps -A --sort=pcpu
根据内存使用情况对进程排序
我们还可以使用 --sort=pmem
命令如下。
$ ps -aux --sort=pcpu
运行Ps实时模式
的默认行为 ps
命令正在运行并退出。 ps
命令可以在不退出的情况下实时运行。这和上衣一样 命令。我们将使用名为watch的外部命令 并提供ps 命令。在本例中,我们将以2秒的间隔列出进程。
$ watch -n 2 ps
