`

linux之ps命令

阅读更多

平时linux进程查看还是比较常用的,在此研究一下linux ps命令的使用方式:

1. ps简介前面介绍的两个命令(who、w命令)都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的主题。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的linux进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。

2. ps命令及其参数

ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。

该命令语法格式如下:ps [选项]

下面对命令选项进行说明:

◆-e 显示所有进程。

◆-f 全格式。

◆-h 不显示标题。

◆-l 长格式。

◆-w 宽输出。

◆a 显示终端上的所有进程,包括其他用户的进程。

◆r 只显示正在运行的进程。

◆x 显示没有控制终端的进程。

O[+|-] k1 [,[+|-] k2 [,…]] 根据SHORT KEYS、k1、k2中快捷键指定的多级排序顺序显示进程列表。对于ps的不同格式都存在着默认的顺序指定。这些默认顺序可以被用户的指定所覆盖。其中 “+”字符是可选的,“-”字符是倒转指定键的方向。

pids 只列出指定进程的情况。各进程ID之间使用逗号分隔。该进程列表必须在命令行参数的最后一个选项后面紧接着给出,中间不能插入空格。比如:ps -f1,4,5。

以下介绍长命令行选项,这些选项都使用“--”开头:

◆--sort X[+|-] key [,[+|-] key [,…]] 从SORT KEYS段中选一个多字母键。“+”字符是可选的,因为默认的方向就是按数字升序或者词典渌承颉1热纾?ps -jax -sort=uid,-ppid,+pid。

◆--help 显示帮助信息。

◆--version 显示该命令的版本信息。

在前面的选项说明中提到了排序键,接下来对排序键作进一步说明。需要注意的是排序中使用的值是ps使用的内部值,并非仅用于某些输出格式的伪值。

排序键列表

短格式

长格式

说 明

◆c-cmd可执行的简单名称

◆C-cmdline完整命令行

◆f-flags长模式标志

◆g-pgrp进程的组ID

◆G-tpgid控制tty进程组ID

◆j-cutime累计用户时间

◆J-cstime累计系统时间

◆k-utime用户时间

◆K-stime系统时间

◆m-min_flt次要页错误的数量

◆M-maj_flt主要页错误的数量

◆n-cmin_flt累计次要页错误

◆N-cmaj_flt累计主要页错误

◆o-session对话ID

◆p-pid进程ID

◆P-ppid父进程ID

◆r-rss驻留大小

◆R-resident驻留页

◆s-size内存大小(千字节)

◆S-share共享页的数量

◆t-ttytty次要设备号

◆T-start_time进程启动的时间

◆U-uid-UID

◆u-user用户名

◆v-vsize总的虚拟内存数量(字节)

◆y-priority内核调度优先级

3. 常用ps命令参数

前面两节介绍的参数可能让读者觉得有些可怕,实际上这是一个非常容易使用的命令,一般的用户只需掌握一些最常用的命令参数就可以了。 最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。

以root身份登录系统,查看当前进程状况

$ ps

PID TTY TIME COMMAND

5800 ttyp0 00:00:00 bash

5835 ttyp0 00:00:00 ps

可以看到,显示的项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)、COMMAND(该进程的命令行输入)。

使用u选项来查看进程所有者及其他一些详细信息,如下所示:

$ ps u

USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND

test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash

test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u

在bash进程前面有条横线,意味着该进程便是用户的登录shell,所以对于一个登录用户来说带短横线的进程只有一个。还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU时间和总时间的百分比;后者指该进程占用的内存和总内存的百分比。

在这种情况下看到了所有控制终端的进程;但是对于其他那些没有控制终端的进程还是没有观察到,所以这时就需要使用x选项。使用x选项可以观察到所有的进程情况。

下面是使用x选项的例子:

$ ps x

PID TTY STAT TIME COMMAND

5800 ttyp0 S 0:00 -bash

5813 ttyp1 S 0:00 -bash

5921 ttyp0 S 0:00 man ps

5922 ttyp0 S 0:00 sh -c /usr/bin/gunzip -c /var/catman/cat1/ps.1.gz | /

5923 ttyp0 S 0:00 /usr/bin/gunzip -c /var/catman/cat1/ps.1.gz

5924 ttyp0 S 0:00 /usr/bin/less -is

5941 ttyp1 R 0:00 ps x

可以发现突然一下子就多出了那么多的进程。这些多出来的进程就是没有控制终端的进程。

前面看到的所有进程都是test用户自己的。其实还有许多其他用户在使用着系统,自然也就对应着其他的很多进程。如果想对这些进程有所了解,可以使用a选项来查看当前系统所有用户的所有进程。经常使用的是aux组合选项,这可以显示最详细的进程情况。

$ ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.0 1136 64 ? S Nov25 0:02 init [3]

root 2 0.0 0.0 0 0 ? SW Nov25 0:00 [kflushd]

root 3 0.0 0.0 0 0 ? SW Nov25 0:03 [kupdate]

root 4 0.0 0.0 0 0 ? SW Nov25 0:00 [kpiod]

root 5 0.0 0.0 0 0 ? SW Nov25 0:00 [kswapd]

root 163 0.0 0.1 1628 332 ? S Nov25 0:02 sshd

root 173 0.0 0.0 1324 200 ? S Nov25 0:00 syslogd

root 181 0.0 0.0 1420 0 ? SW Nov25 0:00 [klogd]

daemon 191 0.0 0.1 1160 312 ? S Nov25 0:00 /usr/sbin/atd

root 201 0.0 0.1 1348 492 ? S Nov25 0:00 crond

root 212 0.0 0.0 1292 68 ? S Nov25 0:00 inetd

……

在显示的最前面是其他用户的进程情况,可以看到有root、daemon等用户以及他们所启动的进程。 在上面的例子中,介绍了ps命令最常见的一些选项和选项组合,用户可以根据自己的需要选用。

分享到:
评论

相关推荐

    linux ps 命令详解

    **Linux `ps` 命令详解** 在Linux操作系统中,`ps`(Process Status)命令是用于查看系统当前进程状态的工具。它能够显示进程的实时信息,帮助用户了解系统的运行情况,进行进程管理。`ps`命令历史悠久,功能强大,...

    linux ps命令源码

    在Linux操作系统中,`ps`命令是一个非常基础且重要的工具,用于查看系统当前进程的状态。它的功能强大,能够提供各种不同的输出格式,帮助系统管理员监控和管理系统的运行情况。源码分析可以帮助我们深入理解`ps`...

    Linux ps命令详解

    Linux ps 命令详解 Linux ps 命令是一种强大的进程查看命令,可以确定有哪些进程正在运行、进程是否结束、进程是否僵死、哪些进程占用了过多的资源等等。ps 命令最经常使用的是用于监控后台进程的工作情况,因为...

    linuxps命令、kill命令及kill函数概述[借鉴].pdf

    Linux ps 命令、kill 命令及 kill 函数概述 Linux 操作系统中,ps 命令和 kill 命令是两个非常重要的命令,分别用于显示进程信息和中止进程。这两个命令在 Linux 系统中扮演着非常重要的角色。 ps 命令是用于显示...

    windows版本的ps等命令集

    然而,为了提供与Linux相似的命令行体验,Microsoft引入了一个名为"Windows Subsystem for Linux"(WSL)的功能,它允许用户在Windows上运行Linux命令,包括`ps`和`kill`等。下面我们将详细讨论这两个命令及其在...

    linux中的PS命令.pdf

    Linux系统中的PS命令是一个非常强大的工具,用于报告当前系统进程的状态。PS命令能够显示出一个快照,包括当前系统中所有正在运行的进程的详细信息。PS命令常用于监控系统、诊断问题以及查看进程状态。以下是对PS...

    Linux下的ps aux命令详解

    `ps aux`是Linux系统中一个非常常用的命令,用于查看系统中当前运行的进程状态。这个命令可以帮助系统管理员和开发者了解系统的运行情况,监控资源使用,查找问题,以及调试程序。下面将详细介绍`ps aux`命令及其...

    Linux系统命令top,ps,kill,free,vmstat等命令的源码

    2. **ps命令**:`ps`用于报告当前系统中进程的状态,它可以提供关于进程ID、用户、CPU使用时间、内存占用等信息。源码中会包含如何遍历`/proc`目录,解析每个进程的`/proc/PID/status`文件,并将信息格式化输出的...

    linux下ps命令使用详解.rar

    linux下ps命令使用详解.rar

    linuxps命令、kill命令及kill函数概述.pdf

    Linux ps 命令、kill 命令及 kill 函数概述 Linux 操作系统中,ps 命令和 kill 命令是两个非常重要的命令,ps 命令用于显示当前系统中的所有进程信息,而 kill 命令用于结束某个进程。下面将详细介绍 ps 命令和 ...

    深入解析Linux中的ps命令:掌握进程状态监控

    本文通过深入分析ps命令的多种用法和应用场景,为读者提供了一个全面的指南,帮助他们熟练地使用ps命令来监控和管理Linux系统中的进程状态。 ps命令是Linux系统中监控进程状态的重要工具。通过掌握其多种选项和用法...

    Linux命令大全完整版.pdf

    系统管理命令是Linux系统中最重要的命令类别之一,涵盖了用户管理、进程控制、系统监控、权限控制等多个方面。 - 用户管理命令:如adduser(添加用户)、useradd(添加用户)、userdel(删除用户)等,用于管理系统...

    Linux下ps命令详解.docx

    在Linux操作系统中,`ps`命令是用于查看系统当前进程状态的一个强大工具。这个命令能够提供实时的进程快照,帮助用户了解系统资源的使用情况,监控进程活动,以及进行故障排查。本文将详细介绍`ps`命令的基本概念、...

    Linux性能检查命令总结

    Linux 性能检查命令总结 Linux 性能检查命令总结是指在 Linux 服务器出现性能问题时,使用的一些命令来快速定位和解决问题。这包括内存瓶颈、CPU 瓶颈、网络瓶颈、磁盘瓶颈和应用瓶颈等方面的命令。 内存瓶颈 在...

    linux中PS命令使用详解.pdf

    `ps` 命令是 Linux 系统中用于查看当前系统进程状态的工具,它可以帮助用户监控系统中运行的程序、服务以及进程资源的使用情况。`ps` 命令具有丰富的参数和选项,使得用户可以根据需要定制输出内容。下面我们将详细...

    Linux 进程管理命令

    Linux 进程管理命令 Linux 进程管理命令是 Linux 操作系统中用于管理进程的命令,它们是 Linux 系统管理员的基本工具。这些命令可以用来查看、管理和控制进程,从而确保系统的稳定运行。 1. 程序和进程 在 Linux ...

    Linux下ps命令的10个基本例子.docx

    Linux下的`ps`命令是系统管理员和用户监控进程状态的重要工具。它能提供关于系统上运行进程的基本信息,如用户ID、CPU使用率、内存使用率以及进程名称等。尽管不如`top`或`htop`命令那样实时显示详细信息,但`ps`...

    linux系统简单命令

    * ps 命令:用于查看进程信息。 * uname 命令:用于查看内核版本。 * cat /etc/issue 命令:用于查看 Ubuntu 版本。 六、ubuntu 常用命令 * dpkg 命令:用于管理软件包。 * apt 命令:用于管理软件包,包括安装、...

Global site tag (gtag.js) - Google Analytics