ps 命令与 ef 标志相结合,为您提供系统上运行的所有进程以及其他详细信息。
Linux 中的 ps 命令用于获取系统当前进程的报告。
但是,当您将 ps 命令与 -ef 标志配对时,它可以为您提供系统上运行的所有进程的详细而全面的概述。
因此,在本教程中,我首先将解释ps -ef命令的输出,然后添加更多示例以进一步了解ps -ef命令。
Linux中ps -ef命令的含义
让我们从执行ps -ef命令开始。
当您执行不带任何附加标志的 ps 命令时,它将列出附加到当前终端会话的活动进程:
ps如您所见,它列出了附加到终端的两个进程。但这并不是我们一直想要的,因为用户可能会打开多个终端并进行不同的正在进行的进程。
这就是使用-ef标志的地方!
在跳转到-ef标志的解释部分之前,让我们看一下当您使用-ef标志执行 ps 命令时会得到什么输出:
ps -ef即使您不知道输出的含义(我将在一分钟内解释),您也可以看出它比没有任何标志的ps命令提供了更多的数据。正确的?
现在,让我们看看-ef标志的含义。
-e:选择系统所有进程-f:为您提供所选进程的更多详细信息,例如 UID、PID、PPID 等。
简单来说,当您使用 ps -ef 命令时,它将列出系统中每个正在进行的进程,并为您提供每个进程的更多详细信息。
现在,让我们详细分析一下使用ps -ef命令时获得的输出。
UID:显示进程所有者的用户ID。PID:表示该进程的进程ID。PPID:获取父进程ID。这意味着它将显示父进程的进程ID。C:该进程的 CPU 利用率。STIME:进程启动的时间。TTY:与该进程关联的终端,如果它没有与终端关联,那么它将指示?或-标记。TIME:告诉您该进程使用 CPU 的时间。CMD:显示启动该进程的命令。
现在,让我们看一下使用 ps -ef 命令的不同示例。
如何使用 ps -ef 命令
在本节中,我将引导您了解使用 ps -ef 命令的多种实用方法,通过这些方法您可以充分利用它。
1. 显示进程树
当将--forest标志与ps -ef命令配对时,它可用于显示 Linux 中的进程树:
ps -ef --forest2. 找到正在进行的流程
当您执行 ps -ef 命令时,它会向您显示一堆进程,您可能需要多次滚动以查找导致问题的可疑进程。
在这种情况下,您可以使用 grep 命令对输出进行排序:
ps -ef | grep "process_name"例如,如果我想查找是否有任何与 nano 相关的进程,那么我将使用以下命令:
ps -ef | grep "nano"3.使用完整命令显示进程
当您使用ps -ef命令时,如果没有足够的可用空间,它将切断执行命令(显示在CMD列中)。
要解决这种情况,您可以使用ww选项,如下所示:
ps -efww4.根据内存使用情况对进程进行排序
要根据内存使用情况对显示的进程进行排序,您可以使用--sort=-%mem标志,如下所示:
ps -ef --sort=-%mem5.根据CPU利用率对进程进行排序
要根据 CPU 利用率对进程进行排序,您可以使用--sort=-%cpu标志,如下所示:
ps -ef --sort=-%cpu奖励:显示特定用户的进程
我将其添加到奖金部分是有原因的。
要显示特定用户的进程,您需要使用-U标志,该标志在与-ef标志配对时没有给出适当的结果。
但它仍然是 ps 命令的最佳实现之一,这就是为什么我将其包含在奖励部分中的原因。
要显示特定用户的进程,请按以下方式使用-U标志:
ps -U user_name例如,在这里,我列出了属于用户sagar的进程:
ps -U sagar使用 ps 命令执行更多操作
使用 ps 命令的方法有多种,为了解释如何充分利用 ps 命令,我们为该主题制作了详细的教程:
我希望本指南对您有所帮助。