3-2-4 Linux进程管理命令
目录:
在Linux中,程序的运行实例称为进程。 有时,在Linux机器上工作时,您可能需要找出当前正在运行的进程。
您可以使用许多命令来查找有关正在运行的进程的信息,其中
ps
,
pstree
和
top
是最常用的命令。
本文介绍了如何使用
ps
命令列出当前正在运行的进程以及显示有关那些进程的信息。
如何使用
ps
命令
ps
命令的一般语法如下:
ps
出于历史和兼容性的原因,
ps
命令接受几种不同类型的选项:
- UNIX样式选项,以单个破折号开头。BSD样式选项,不带破折号。GNU长选项,以两个破折号开头。
可以混合使用不同的选项类型,但是在某些特定情况下,可能会出现冲突,因此最好坚持使用一种选项类型。
BSD和UNIX选项可以分组。
以最简单的形式,当不带任何选项使用
ps
时,
ps
将打印四列信息,以显示当前外壳程序中运行的至少两个进程,外壳程序本身以及调用命令时在外壳程序中运行的进程。
ps
输出包括有关外壳程序(
bash
)和在该外壳程序中运行的进程(
ps
,您键入的命令)的信息:
PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps
这四个列分别标记为
PID
,
TTY
,
TIME
和
CMD
。
-
PID进程ID。 通常,在运行ps命令时,用户正在寻找的最重要的信息是进程PID。 了解PID可以使您终止故障过程。TTY进程的控制终端的名称。TIME进程的累积CPU时间,以分钟和秒为单位。CMD用于启动进程的命令的名称。
上面的输出不是很有用,因为它包含的信息不多。
ps
命令的真正功能是在带有其他选项的情况下启动的。
ps
命令接受大量选项,这些选项可用于显示特定的一组进程以及有关该进程的不同信息,但是在日常使用中只需要少数几个选项。
ps
最常与以下选项组合使用:
BSD形式 :
ps aux
-
a选项告诉ps显示所有用户的进程。 仅不显示与终端不相关的过程和组长的过程。u代表一种面向用户的格式,提供有关进程的详细信息x选项指示ps在没有控制终端的情况下列出进程。 这些主要是在启动时启动并在后台运行的进程。
该命令在十一行中显示信息,这些行分别标记为
USER
,
PID
,
%CPU
,
%MEM
,
VSZ
,
RSS
,
STAT
,
START
,
TTY
,
TIME
和
CMD
。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…
我们已经解释了
PID
,
TTY
,
TIME
和
CMD
标签。 这是其他标签的说明:
-
USER运行进程的用户。%CPU进程的CPU使用率。%MEM进程的驻留集大小占计算机上物理内存的百分比。VSZ-KiB中进程的虚拟内存大小。RSS进程正在使用的物理内存的大小。STAT进程状态代码,例如Z(僵尸),S(正在睡眠)和R(正在运行)。START命令开始的时间。
f
选项告诉
ps
显示父进程到子进程的树视图:
ps auxf
ps
命令还允许您对输出进行排序。 例如,要根据内存使用情况对输出进行排序,可以使用:
ps aux --sort=-%mem
UNIX形式 :
ps -ef
-
-e选项指示ps显示所有进程。--f代表全格式列表,其中提供有关进程的详细信息。
该命令在标记为
UID
,
PID
,
PPID
,
C
,
STIME
,
TIME
和
CMD
八列中显示信息。
UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…
未解释的标签具有以下含义:
-
UID与USER相同,是运行进程的用户。PPID父进程的ID。C与%CPU相同,进程CPU利用率。STIME与START相同,命令启动的时间。
要仅查看以特定用户身份运行的进程,请键入以下命令,其中
linuxize
是用户名:
用户定义格式
o
选项允许您指定在运行
ps
命令时显示哪些列。
例如,要仅输出有关
PID
和
COMMAND
,可以运行以下命令之一:
ps -efo pid, comm
与其他命令一起使用
ps
ps
可以通过管道与其他命令结合使用。
ps -ef | less
ps
命令的输出可以使用
grep
过滤。 例如,要仅显示属于root用户的进程,请运行:
结论
在对Linux系统上的问题进行故障排除时,
ps
命令是最常用的命令之一。 它有很多选项,但是通常,大多数用户都使用
ps aux
或
ps -ef
来收集有关正在运行的进程的信息。
有关
ps
更多信息,请在终端中输入
man ps
。







