ps [选项]

功能

察看运行进程。

举例

显示所有进程

$ps aux

输入之后,输出如下:

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

root 1 0.0 0.1 3056 876 ? Ss 09:16 0:01 /sbin/init

root 2 0.0 0.0 0 0 ? S< 09:16 0:00 [kthreadd]

root 2289 0.0 0.0 2528 456 ? S

root 4314 0.0 0.0 4040 256 ? Ss 09:17 0:00 /usr/sbin/rpc.idmapd

root 4438 0.0 0.0 1780 420 tty4 Ss+ 09:17 0:00 /sbin/getty 38400 tty4

mysql 4962 0.0 0.5 128400 2856 ? Sl 09:17 0:03 /usr/sbin/mysqld --basedir=/usr -

1000 8472 0.0 1.4 30388 7096 pts/4 Sl+ 13:31 0:00 vi .

1000 8476 0.0 0.7 6388 3544 pts/5 Ss 13:32 0:00 /bin/bash

1000 8504 0.0 0.3 3952 1564 pts/5 S+ 13:33 0:00 man ps

1000 8513 0.0 0.2 3508 1076 pts/5 S+ 13:33 0:00 pager -s

1000 8649 0.0 0.2 2744 1016 pts/3 R+ 13:47 0:00 ps aux

这里,实际上输出的 pid 是递增的,输出很多,我只截取了很少的一部分,输出过长的行会被截断。

字段含义如下:

USER 进程的属主;

PID 进程的 ID ;

PPID 父进程;

%CPU 进程占用的 CPU 百分比;

%MEM 占用内存的百分比;

NI 进程的 NICE 值,数值大,表示较少占用 CPU 时间;

VSZ 进程虚拟大小;

RSS 驻留中页的数量;

TTY 终端 ID

STAT 进程状态(有以下几种)

D 无法中断的休眠状态(通常 IO 的进程);

R 正在运行可中在队列中可过行的;

S 处于休眠状态;

T 停止或被追踪;

W 进入内存交换(从内核 2.6 开始无效);

X 死掉的进程(从来没见过);

Z 僵尸进程;

< 优先级高的进程

N 优先级较低的进程

L 有些页被锁进内存;

s 进程的领导者(在它之下有子进程);

l 多进程的(使用 CLONE_THREAD , 类似 NPTL pthreads );

+ 位于后台的进程组;

WCHAN 正在等待的进程资源;

START 启动进程的时间;

TIME 进程消耗 CPU 的时间;

COMMAND 命令的名称和参数;

输出指定的字段

$ps -o pid,ppid,pgrp,session,tpgid,comm

输入之后,输出如下:

PID PPID PGRP SESS TPGID COMMAND

6094 6024 6094 6094 6163 bash

6132 6094 6132 6094 6163 vi

6163 6094 6163 6094 6163 ps

查看当前进程状况

$ps

输入之后,输出如下:

PID TTY TIME CMD

6186 pts/2 00:00:00 bash

8760 pts/2 00:00:00 ps

查看进程所有者及其他一些详细信息

$ps u

输入之后,输出如下:

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

1000 6147 0.0 0.2 6368 1216 pts/0 Ss 09:23 0:00 bash

1000 6167 0.0 0.1 4296 640 pts/0 S+ 09:23 0:00 screen

1000 6169 0.0 0.3 6396 2012 pts/1 Ss 09:23 0:00 /bin/bash

1000 6186 0.0 0.3 6392 1548 pts/2 Ss+ 09:24 0:00 /bin/bash

1000 6230 0.0 0.4 6400 2076 pts/3 Ss+ 09:24 0:00 /bin/bash

1000 6247 0.0 0.4 6408 2212 pts/4 Ss+ 09:24 0:00 /bin/bash

1000 7432 0.0 0.2 3276 1088 pts/1 S+ 10:43 0:00 telnet 192.168.100.200

1000 8472 0.0 1.4 30388 7144 pts/4 Tl 13:31 0:01 vi .

1000 8476 0.0 0.7 6388 3544 pts/5 Ss 13:32 0:00 /bin/bash

1000 8504 0.0 0.3 3952 1564 pts/5 S+ 13:33 0:00 man ps

1000 8513 0.0 0.2 3508 1076 pts/5 S+ 13:33 0:00 pager -s

1000 8837 0.5 0.6 6288 3448 tty1 S+ 14:08 0:00 -bash

1000 8958 5.3 0.6 6376 3536 pts/6 Ss 14:08 0:00 bash

1000 8974 0.0 0.2 2744 1020 pts/6 R+ 14:08 0:00 ps u

这里,使用 u 选项来查看进程所有者及其他一些详细信息,注意是 u 不是 -u 。

注意,在 bash 进程前面有条横线,意味着该进程便是用户的登录 shell ,所以对于一个登录用户来说带短横线的进程只有一个。还可以看到 %CPU 、 %MEM 两个选项,前者指该进程占用的 CPU 时间和总时间的百分比;后者指该进程占用的内存和总内存的百分比。在这种情况下看到了所有控制终端的进程;但是对于其他那些没有控制终端的进程还是没有观察到,所以这时就需要使用x选项。使用x选项可以观察到所有的进程情况。

查看系统上所有的进程

$ps -e

查看你的进程

$ps x

以树状方式显示进程

$ps f

输入之后,输出如下:

PID TTY STAT TIME COMMAND

8476 pts/5 Ss 0:00 /bin/bash

8504 pts/5 S+ 0:00 \_ man ps

8513 pts/5 S+ 0:00 \_ pager -s

6247 pts/4 Ss 0:00 /bin/bash

8472 pts/4 Sl+ 0:01 \_ vi .

6230 pts/3 Ss 0:00 /bin/bash

9168 pts/3 R+ 0:00 \_ ps f

6186 pts/2 Ss+ 0:00 /bin/bash

6169 pts/1 Ss 0:00 /bin/bash

7432 pts/1 S+ 0:00 \_ telnet 192.168.100.200

6147 pts/0 Ss 0:00 bash

6167 pts/0 S+ 0:00 \_ screen

8837 tty1 S+ 0:00 -bash

树形显示所有进程并且没有截断

$ps auxfww

描述

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。

使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。

总之大部分信息都是可以通过执行该命令得到的。 ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。

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

注意 ps -aux 和 ps aux 是不同的。 POSIX 和 UNIX 标准,要求 ps -aux 打印用户名"x"拥有的所有进程,和使用 -a 选项选定的进程。如果用户 x 不存在,那么就把命令解释成为 ps aux ,并且打印一个警告。

默认的情况, ps 选择所有具有和当前用户相同的effective user ID(euid),以及和进程相关的终端( tname=TTY ), CPU 时间,和可执行名称.

还可以看线程。

命令项说明:

-e 显示所有进程。

-f 全格式,用树形格式来显示进程。

-l 长格式。

-w 宽输出(同 w )。

-a 显示所有的除了session leaders之外的进程和与终端无关的进程。

h 不显示标题(注意,这里面没有前面的横线)。

a 显示终端上的所有进程,包括其他用户的进程。(注意和 -a 不同)

ww 避免详细参数被截断;

linux学习手册,Linux命令学习手册-ps相关推荐

  1. Linux中如何查看命令帮助手册

    Linux中如何查看命令帮助手册 1. 识别命令 1.1 显示命令的类型–type 使用type命令 命令的分类 内置命令 是被shell直接调用的命令或者函数,shell可以直接执行 如pwd,ty ...

  2. Java线上问题排查思路及Linux常用问题分析命令学习

    前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问 ...

  3. [Linux]-基础知识及命令学习

    前言 菜鸟教程之Linux命令大全 平时我们说的 Linux 其实指的是 Linux内核,而不同厂商在这个内核的基础上二次开发,完善了软件,程序等,出现了不同的发行版,也就是我们使用的 Linux 操 ...

  4. Linux系统开发: 基础命令学习

    一.Linux系统介绍 Linux是一套免费使用和自由传播的Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.支持32位和64位硬件,Linux继承了U ...

  5. linux ip命令 flush,Linux网络工具学习之:IP命令学习03

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 标签(空格分隔): 网络本文旨在通过IP命令介绍和学习Linux网络的相关知识 1. 概述 2. ip link 3. ...

  6. linux ls和ll命令学习小结

    ls命令用途 ls命令用来显示目标列表,ll命令是ls -l的别名. ls命令格式和意义 ls [options] [目录] -a 列出目录下的所有文件和档案,包括隐藏文件(ls内定将档案名或目录名称 ...

  7. annoy(快速近邻向量搜索包)学习小记 - pip命令学习与annoy基础使用

    1. 写在前面 在写fun-rec新闻推荐系统的YouTubeDNN召回的时候, 得到用户向量和新闻向量,基于用户向量,需要从海量新闻里面得到最相似的TopK个新闻, 此时需要用到快速向量检索技术,之 ...

  8. linux系统中pwd命令的作用,Linux运维pwd命令有什么用途?linux系统

    Pwd命令用于显示当前所在的位置,是Linux运维工作人员需要掌握的Linux文件和目录操作命令之一.对于Linux运维工作,Linux命令是必不可少的.随着技术的发展,市场对于Linux运维人才的需 ...

  9. 监控Linux系统状态的命令

    监控Linux系统状态的命令1 :w uptime命令查看系统负载 : w/uptime 最后面三个数字表示1分钟 ,5分钟 ,15分钟 平均有多少进程占用CPU 某一时刻1颗CPU只能有一个进程在使 ...

最新文章

  1. python异常处理(基础)
  2. 解读 C# 中的正则表达式
  3. Flume 1.7 源码分析(五)从Channel获取数据写入Sink
  4. 创建ListView的基本步骤
  5. mysql三-3:完整性约束
  6. 字符串2在字符串1中第一次出现的位置strstr()
  7. 容器编排技术 -- Kubernetes 示例:使用 Stateful Sets 部署 Cassandra
  8. cssz中a标签鼠标选中去除选中边框
  9. python实现tkinter可视化一
  10. mongodb:修改oplog.rs 的大小size
  11. java 读取txt乱码问题_Java读取txt文档乱码解决方法
  12. 【BZOJ1062】[NOI2008]糖果雨【二维树状数组】
  13. js仿照 蚂蚁森林 效果
  14. mysql库文件修复_mysql数据库文件修复
  15. 笔记本安装MeeGo系统教程
  16. 同款蓝牙耳机为什么会串联_蓝牙耳机凭什么成网红明星标配时尚单品?揭秘三大原因...
  17. python匹配ip地址
  18. RFID系统 免费开源代码 开发,分享[申明:来源于网络]
  19. 酒水供应链管理难?ZETA技术助力酒水供应链数智化升级
  20. 电动汽车行业蓬勃发展,是时候关注电动汽车软件了

热门文章

  1. 损失函数的意义和作用_损失函数的可视化:浅论模型的参数空间与正则
  2. 单片机8×8点阵显示简单汉字的程序_干货 | 浅析单片机制作贪吃蛇游戏
  3. linux shell 豆瓣,用Linux shell脚本爬取豆瓣邮箱
  4. java重写面试题_Java面试题:重写了equals方法,为什么还要重写hashCode方法?
  5. Win11系统点击回滚没有反应是怎么回事
  6. Outlook怎么打印日历 Outlook日历打印教程
  7. NC63 后端通过单据执行动作 修改单据详细解读
  8. js获取 jquery获取页面shu
  9. java gc时会暂停运行吗,java gc 项目终止运行
  10. java枚举类中字段有没有必要加final____枚举类字段 Field ‘xxx‘ may be ‘final‘