Linux ps命令教程

流程是操作系统的主要组成部分之一。所有用户端甚至内核端的操作都是通过进程执行的。进程通常创建、运行和终止。这个生命周期的过程大体相同。在这个生命周期中,我们可能需要获得更多有关流程的信息。ps公司 命令是最常用的命令,用于列出和获取有关进程的信息。

null

列出当前用户进程

可以列出流程,而不向ps提供任何选项 命令。但这将只列出当前用户的进程,而不列出其他系统、用户或根用户进程。

$ ps
List Current User Processes
列出当前用户进程

BSD语法

ps 命令是一种非常通用的工具。ps公司 还使用了其他Unix变体操作系统。BSD提供了不带破折号的选项。因此,通常没有区别,但了解BSD语法是有益的。下面的示例使用BSD语法。

ps  aux

列出所有进程

在前面的步骤中,我们列出了仅针对当前用户在Linux系统上运行的进程。但一般来说,我们需要在一个快照中列出所有进程。我们可以提供 -ax 用于列出所有进程的选项。

$ ps -A
List All Process
列出所有进程

  • PID 显示进程ID
  • TTY 显示正在运行的控制台
  • TIME 显示已用CPU时间
  • CMD 显示完整的命令和线程编号

将进程列为树

在上一个示例中,我们以列表格式打印了所有进程。有一种替代的表示格式,名为Tree。树格式是一种分层格式,它提供有关父级和子级关系的可视化信息。

$ ps -A --forest
List Processes As Tree
将进程列为树

列表进程 信息

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

$ ps -A l
List Process Info
列出进程信息

  • UID 显示进程的用户ID
  • PID 显示进程ID
  • PPID 显示父进程ID
  • PRI 显示出很好的价值
  • STAT 显示进程的当前状态
  • TTY 显示当前控制台号码(如果已连接)

相关文章: 如何检查和监控电脑/个人电脑的温度?

仅列出指定的进程

在列出进程时,我们可能需要根据进程或命令名进行筛选。在这里我们将使用 -C 筛选器操作的参数和进程名称。

$ ps  -C acpid

只打印特定的PID进程

另一种根据进程的PID过滤进程id的方法。我们可以根据给定的PID进行过滤。我们将使用 -p 选项和PID进行过滤。在本例中,我们将根据多个进程的IP地址过滤它们。

$ ps  -p 1331,1773
Print Only Specific PID Process
只打印特定的PID进程

仅打印特定的用户进程

另一个有用的过滤机制是根据进程的所有者或用户过滤进程。我们将使用 -u 选项和要筛选的用户名。在这个例子中,我们要过滤用户名 ismail .

$ ps   -u ismail
图片[6]-Linux ps命令教程-yiteyi-C++库
仅打印特定的用户进程

显示进程线程

众所周知,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
Run Ps Real Time Mode
运行Ps实时模式

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享