文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux ps命令有什么用

2023-06-28 17:47

关注

这篇文章跟大家分析一下“Linux ps命令有什么用”。内容详细易懂,对“Linux ps命令有什么用”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux ps命令有什么用”的知识吧。

ps 命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。
ps 命令有多种不同的使用方法,这常常给初学者带来困惑。在各种 Linux 论坛上,询问 ps 命令语法的帖子屡见不鲜,而出现这样的情况,还要归咎于 UNIX 悠久的历史和庞大的派系。在不同的 Linux 发行版上,ps 命令的语法各不相同,为此,Linux 采取了一个折中的方法,即融合各种不同的风格,兼顾那些已经习惯了其它系统上使用 ps  命令的用户。

ps 命令的基本格式如下:

[root@localhost ~]# ps aux
#查看系统中所有的进程,使用 BS 操作系统格式
[root@localhost ~]# ps -le
#查看系统中所有的进程,使用 Linux 标准命令格式

选项:

可以看到,ps 命令有些与众不同,它的部分选项不能加入"-",比如命令"ps aux",其中"aux"是选项,但是前面不能带“-”。

大家如果执行 "man ps" 命令,则会发现 ps 命令的帮助为了适应不同的类 UNIX 系统,可用格式非常多,不方便记忆。所以,我建议大家记忆几个固定选项即可。比如:


有这三个命令就足够了,下面分别来查看。

【例 1】

[root@localhost ~]# ps aux#查看系统中所有的进程USER PID %CPU %MEM  VSZ  RSS   TTY STAT START TIME COMMANDroot   1  0.0  0.2 2872 1416   ?   Ss   Jun04 0:02 /sbin/initroot   2  0.0  0.0    0    0   ?    S   Jun04 0:00 [kthreadd]root   3  0.0  0.0    0    0   ?    S   Jun04 0:00 [migration/0]root   4  0.0  0.0    0    0   ?    S   Jun04 0:00 [ksoftirqd/0]…省略部分输出…

表 1 中罗列出了以上输出信息中各列的具体含义。

表 1 ps命令输出信息含义
表头含义
USER该进程是由哪个用户产生的。
PID进程的 ID。
%CPU该进程占用 CPU 资源的百分比,占用的百分比越高,进程越耗费资源。
%MEM该进程占用物理内存的百分比,占用的百分比越高,进程越耗费资源。
VSZ该进程占用虚拟内存的大小,单位为 KB。
RSS该进程占用实际物理内存的大小,单位为 KB。
TTY该进程是在哪个终端运行的。其中,tty1 ~ tty7 代表本地控制台终端(可以通过 Alt+F1 ~ F7 快捷键切换不同的终端),tty1~tty6 是本地的字符界面终端,tty7 是图形终端。pts/0 ~ 255 代表虚拟终端,一般是远程连接的终端,第一个远程连接占用 pts/0,第二个远程连接占用 pts/1,依次増长。
STAT进程状态。常见的状态有以下几种:
  1. -D:不可被唤醒的睡眠状态,通常用于 I/O 情况。

  2. -R:该进程正在运行。

  3. -S:该进程处于睡眠状态,可被唤醒。

  4. -T:停止状态,可能是在后台暂停或进程处于除错状态。

  5. -W:内存交互状态(从 2.6 内核开始无效)。

  6. -X:死掉的进程(应该不会出现)。

  7. -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。

  8. -

  9. -N:低优先级。

  10. -L:被锁入内存。

  11. -s:包含子进程。

  12. -l:多线程(小写 L)。

  13. -+:位于后台。

START该进程的启动时间。
TIME该进程占用 CPU 的运算时间,注意不是系统时间。
COMMAND产生此进程的命令名。


【例 2】"ps aux"命令可以看到系统中所有的进程,"ps -le"命令也能看到系统中所有的进程。由于 "-l" 选项的作用,所以 "ps -le" 命令能够看到更加详细的信息,比如父进程的 PID、优先级等。但是这两个命令的基本作用是一致的,掌握其中一个就足够了。

[root@localhost ~]# ps -leF S UID PID PPID C  PRI Nl ADDR  SZ WCHAN TTY      TIME  CMD4 S   0   1    0 0  80   0 -    718 -     ?    00:00:02  init1 S   0   2    0 0  80   0 -      0 -     ?    00:00:00  kthreadd1 S   0   3    2 0 -40   - -      0 -     ?    00:00:00  migration/01 S   0   4    2 0  80   0 -      0 -     ?    00:00:00  ksoflirqd/01 S   0   5    2 0 -40   - -      0 -     ?    00:00:00  migration/0…省略部分输出…

表 2 罗列出以上输出信息中各列的含义。

表 2 ps -le 命令输出信息
表头含义
F进程标志,说明进程的权限,常见的标志有两个:
  • 进程可以被复制,但是不能被执行;

  • 进程使用超级用户权限;

S进程状态。具体的状态和"psaux"命令中的 STAT 状态一致;
UID运行此进程的用户的 ID;
PID进程的 ID;
PPID父进程的 ID;
C该进程的 CPU 使用率,单位是百分比;
PRI进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行;
NI进程的优先级,数值越小,该进程越早被执行;
ADDR该进程在内存的哪个位置;
SZ该进程占用多大内存;
WCHAN该进程是否运行。"-"代表正在运行;
TTY该进程由哪个终端产生;
TIME该进程占用 CPU 的运算时间,注意不是系统时间;
CMD产生此进程的命令名;


【例 3】如果不想看到所有的进程,只想查看一下当前登录产生了哪些进程,那只需使用 "ps -l" 命令就足够了:

[root@localhost ~]# ps -l#查看当前登录产生的进程F S UID   PID  PPID C PRI NI ADDR SZ WCHAN TTY       TIME CMD4 S 0   18618 18614 0  80  0 - 1681  -     pts/1 00:00:00 bash4 R 0   18683 18618 4  80  0 - 1619  -     pts/1 00:00:00 ps

可以看到,这次从 pts/1 虚拟终端登录,只产生了两个进程:一个是登录之后生成的 Shell,也就是 bash;另一个是正在执行的 ps 命令。

我们再来说说僵尸进程。僵尸进程的产生一般是由于进程非正常停止或程序编写错误,导致子进程先于父进程结束,而父进程又没有正确地回收子进程,从而造成子进程一直存在于内存当中,这就是僵尸进程。

僵尸进程会对主机的稳定性产生影响,所以,在产生僵尸进程后,一定要对产生僵尸进程的软件进行优化,避免一直产生僵尸进程;对于已经产生的僵尸进程,可以在查找出来之后强制中止。

关于Linux ps命令有什么用就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下编程网网站!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯