在Linux中,程序的运行实例称为进程,有时,在Linux机器上工作时,您可能需要找出当前正在运行的进程,您可以使用很多命令来查找有关正在运行的进程的信息,其中ps和top是最常用的命令。在本文中,我们将讨论如何使用ps命令列出当前正在运行的进程并显示有关这些进程的信息,即通过实例为您分析使用ps命令的技巧。
使用ps命令的方法 ps命令的一般语法如下: ps [OPTIONS] 参考:ps命令_Linux ps命令使用详解:报告当前系统的进程状态。 出于历史和兼容性原因,ps命令接受几种不同类型的选项: 1]、UNIX样式选项,前面有一个破折号。 2]、BSD样式选项,无需破折号即可使用。 3]、GNU长选项,前面有两个破折号。 所有类型的选项都可以混合使用,但在某些特殊情况下可能会出现冲突,因此最好坚持使用一种选项,可以对BSD和UNIX选项进行分组。 在没有任何选项的情况下使用它是最简单的形式,ps将打印四列信息,用于在当前shell中运行的最少两个进程,shell本身以及在命令时在shell中运行的进程: $ ps 输出包括有关shell(bash)和在此shell中运行的进程信息(ps,您键入的命令):
四列标有PID、TTY、TIME和CMD。 1]、PID-进程ID,在大多数情况下,当运行ps命令时,用户正在寻找的最重要信息是进程PID,了解PID可以消除故障过程。 2]、TTY-进程控制终端的名称。 3]、TIME-进程的累计CPU时间,以分钟和秒显示。 4]、CMD-用于启动进程的命令的名称。 上面的输出不是很有用,因为它不包含太多信息,使用其他选项启动时,ps命令的真正威力才能显现出来。 ps命令接受多数选项,这些选项可用于显示特定进程组和有关进程的不同信息,但在日常使用中只需要少量选项。
ps最常用于以下选项组合 1、BSD form: $ ps aux a选项指示ps显示所有用户的进程,除了那些与终端没有关联的进程和组长的进程。 u代表面向用户的格式,提供有关过程的详细信息。 x选项将使用ps来列出没有控制终端的进程,这些是在启动时启动并在后台运行的进程。 该命令将在标有USER、PID、%CPU、%MEM、VSZ、RSS、STAT、START、TTY、TIME和CMD的11列中显示信息:
我们已经解释了PID、TTY、TIME和CMD标签,以下是其他标签的说明: USER-运行该流程的用户。 %CPU-进程cpu利用率。 %MEM-进程驻留集大小占计算机物理内存的百分比。 VSZ-KiB中进程的虚拟内存大小。 RSS-进程正在使用的物理内存的大小。 STAT-进程状态代码,可以是Z(zombie),S(休眠),R(运行)..等等。 START-命令启动的时间。 要打印进程树,请添加f选项,这将指示ps显示父进程到子进程的树视图: $ ps auxf ps命令还允许您对输出进行排序,例如,要根据您将使用的内存使用情况对输出进行排序: $ ps aux --sort=-%mem 2、UNIX form: $ ps -ef e选项指示ps显示所有进程。 f代表全格式列表,提供有关流程的详细信息。 该命令将在标有UID、PID、PPID、C、STIME、TIME和CMD的11列中显示信息:
尚未解释的标签具有以下含义: UID-与USER(运行流程的用户)相同。 PPID-父进程的ID。 C-与%CPU相同,进程cpu利用率。 STIME-与START相同,即命令启动的时间。 要仅查看作为特定用户运行的进程,请使用以下命令,其中ywnz是用户的名称: $ ps -f -U ywnz -u ywnz
用户定义的格式 o选项允许您指定运行ps命令时将显示哪些列。 例如,要仅打印有关PID和COMMAND的信息,您将运行以下命令: $ ps -efo pid,comm
结论 ps命令是解决Linux系统问题时最常用的命令之一,它有很多选项,但通常,大多数用户使用ps aux或ps -ef来收集有关正在运行的进程的信息。 有关所有可用ps选项的信息,请在终端中键入man ps命令查询。
相关主题 |