软件下载

linux怎么查找进程(linux查看进程方法)

软件下载 投稿 2022-08-23 17:01:40 浏览

1. 前言

本文主要是讲解linux如何查看进程。

在Linux中,程序的运行实例称为进程。有时候,在Linux机器上工作时,您可能需要查看当前正在运行的进程。

您可以使用许多命令来查找有关正在运行的进程的信息,其中ps和top是最常用的命令。

在本文中,我们将讨论如何使用ps命令列出当前正在运行的进程,并显示关于这些进程的信息。

linux如何查看进程

2. 如何使用`ps`命令

ps命令通用的语法如下:

ps 选项

由于历史和兼容性的原因,ps命令接受几种不同类型的选项:

  • UNIX风格的选项,前面有一个破折号。
  • BSD样式选项,不使用破折号。
  • GNU长选项,前面有两个破折号。

所有类型的选项都可以混合使用,但在某些特殊情况下可能会出现冲突,所以最好坚持使用一种类型的选项。可以对BSD和UNIX选项进行分组。

在没有任何选项的情况下使用最简单的形式,ps将为当前shell中运行的至少两个进程打印四列信息,即shell本身和命令时在shell中运行的进程。

ps

输出包括关于shell (bash)的信息,以及在这个shell中运行的进程(ps,您键入的命令):

输出结果如下:

PID TTY TIME CMD
105674 pts/0 00:00:00 bash
105734 pts/0 00:00:00 ps

这四列分别是PID、TTY、TIME和CMD。

  • PID 进程ID。在大多数情况下,当运行ps命令时,用户寻找的最重要的信息是进程PID。知道PID允许您终止一个故障进程。
  • TTY 进程控制终端的名称。
  • TIME 进程的累积CPU时间,以分钟和秒表示。
  • CMD 用于启动进程的命令的名称。

上面的输出不是很有用,因为它不包含太多信息。当启动附加选项时,ps命令的真正威力就显现出来了。

ps命令接受大量选项,这些选项可用于显示特定的进程组和关于进程的不同信息,但在日常使用中只需要少量选项。

ps最常与下列选项组合使用:

ps aux

选项a告诉ps显示所有用户的进程,除了那些与终端无关的进程和组领导的进程之外。
u代表一种面向用户的格式,它提供有关流程的详细信息。
x选项将使ps列出没有控制终端的进程。这些进程主要是在引导时启动并在后台运行的进程。

该命令将显示11列标记的信息,USER, PID, %CPU, %MEM, VSZ, RSS, STAT, START, TTY, TIME 和CMD.

[root@zcwyou ~]# ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 1.0 128032 4984 ? Ss Jul06 1:10 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S Jul06 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< Jul06 0:00 [rcu_gp]

我们已经解释了PID、TTY、TIME和CMD标签。以下是对其他标签的解释:

  • USER - 运行进程的用户。
  • %CPU - CPU利用率。
  • %MEM - 进程内存大小占机器上物理内存的百分比。
  • VSZ - 进程占用虚拟内存大小,单位为KB。.
  • RSS - 进程正在使用的物理内存的大小。
  • STAT - 进程状态代码,可以是Z (zombie), S (sleep), R (running) ..等。
  • START - 命令开始的时间。

若要查看流程树,请添加f选项。这将告诉ps显示父进程到子进程的树视图。

ps auxf

ps命令还允许对输出进行排序。例如,根据您将使用的内存使用情况对输出进行排序:

ps aux --sort=-%mem

Unix格式:

ps -ef

选项e告诉ps显示所有进程。
选项f表示完整格式的清单,其中提供了有关流程的详细信息。

该命令将在11列中显示信息,这些列分别是UID、PID、PPID、C、STIME、TIME和CMD。
输出结果

UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jul06 ? 00:01:10 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 Jul06 ? 00:00:00 [kthreadd]
root 3 2 0 Jul06 ? 00:00:00 [rcu_gp]

尚未解释的标签有以下含义:

UID - 与运行流程的用户相同。
PPID - 父进程的ID。
C - 跟%CPU一样,显示CPU利用率。
STIME - 跟START一样, 显示进程开始执行的时间。

要查看仅作为特定用户运行的进程,请使用以下命令,其中zcwyou是用户的名称:

ps -f -U zcwyou -u zcwyou

查看仅作为特定用户运行的进程

3. 用户自定义格式查看进程状态

例如,要只打印PID和命令的信息,您可以运行以下命令之一:

ps -efo pid,comm

用户自定义格式查看进程状态

4. 总结

通过本文,您应该已经学习了在linux系统上如何使用命令工具查看进程了。ps命令是在Linux系统上进行故障排除时最常用的命令之一。它有许多选项,但通常,大多数用户要么使用ps aux,要么使用ps -ef来收集有关正在运行的进程的信息。

有关所有可用ps选项的信息,请在终端中键入man ps。

「真诚赞赏,手留余香」

求资源网

真诚赞赏,手留余香

使用微信扫描二维码完成支付

继续浏览有关编程的文章
发表评论
留言与评论(共有 0 条评论)
   
验证码:
版权声明

求资源网所发布的一切破解补丁,软件,以及其他分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途。
否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。