linux(三十一)系统信息命令ps查看系统进程

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: linux(三十一)系统信息命令ps查看系统进程

Linux 查看系统进程命令ps,这个命令很重要。有点类似于windows的任务管理器的意思。


ps命令用来列出系统中当前运行的那些进程。


ps命令列出的是当前那些进程的快照。

 

就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

 

1:参数


a  显示所有进程


-a 显示同一终端下的所有程序


-A 显示所有进程


c  显示进程的真实名称


-N 反向选择


-e 等于“-A”


e  显示环境变量


f  显示程序间的关系


-H 显示树状结构


r  显示当前终端的进程


T  显示当前终端的所有程序


u  指定用户的所有进程


-au 显示较详细的资讯


-aux 显示所有包含其他使用者的行程


-C<命令> 列出指定命令的状况


--lines<行数> 每页显示的行数


--width<字符数> 每页显示的字符数


--help 显示帮助信息


--version 显示版本显示

 

Ps的参数比较多,这里基本上就是常用的参数。

 

2:示例


(1):显示所有当前进程

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     1:37 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    2 ?        S      0:00 [kthreadd]
    4 ?        S<     0:00 [kworker/0:0H]
    5 ?        S      0:07 [kworker/u2:0]
    6 ?        S      0:05 [ksoftirqd/0]
    7 ?        S      0:00 [migration/0]
    8 ?        S      0:00 [rcu_bh]
    9 ?        R      2:25 [rcu_sched]
   10 ?        S<     0:00 [lru-add-drain]
   11 ?        S      0:09 [watchdog/0]
   13 ?        S      0:00 [kdevtmpfs]
   14 ?        S<     0:00 [netns]
   15 ?        S      0:00 [khungtaskd]
   16 ?        S<     0:00 [writeback]
   17 ?        S<     0:00 [kintegrityd]
 …………………………………………………………

(2):根据用户过滤进程


在需要查看特定用户进程的情况下,我们可以使用 -u 参数。比如我们要查看用户apache的进程,可以通过下面的命令:

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -u apache
  PID TTY          TIME CMD
  990 ?        00:00:07 php-fpm
  991 ?        00:00:07 php-fpm
  992 ?        00:00:09 php-fpm
  993 ?        00:00:08 php-fpm
  994 ?        00:00:07 php-fpm
 1170 ?        00:00:09 php-fpm
 1202 ?        00:00:08 php-fpm

 

(3):通过cpu和内存使用来过滤进程

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2  51728  3956 ?        Ss   Aug12   1:37 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2  0.0  0.0      0     0 ?        S    Aug12   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   Aug12   0:00 [kworker/0:0H]
root         5  0.0  0.0      0     0 ?        S    Aug12   0:07 [kworker/u2:0]
root         6  0.0  0.0      0     0 ?        S    Aug12   0:05 [ksoftirqd/0]
root         7  0.0  0.0      0     0 ?        S    Aug12   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    Aug12   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        R    Aug12   2:25 [rcu_sched]
…………………………………………………………

 

(4):查找具体进程


我们来查找nginx的进程

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -aux | grep nginx
root      8709  0.0  0.0  46604  1208 ?        Ss   Aug14   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     8710  0.0  0.1  47600  2940 ?        S    Aug14   0:01 nginx: worker process
root     22387  0.0  0.0 112812   968 pts/0    R+   16:51   0:00 grep --color=auto nginx
**
**

(5):通过进程名和PID过滤


我们来查找nginx

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -C nginx
  PID TTY          TIME CMD
 8709 ?        00:00:00 nginx
 8710 ?        00:00:01 nginx

 

我们查看详细信息:

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -f -C nginx
UID        PID  PPID  C STIME TTY          TIME CMD
root      8709     1  0 Aug14 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     8710  8709  0 Aug14 ?        00:00:01 nginx: worker process

(6):根据线程来过滤进程

[root@iZuf60ynur81p6k0ysvtneZ /]#  ps -L 8710
  PID   LWP TTY      STAT   TIME COMMAND
 8710  8710 ?        S      0:01 nginx: worker process

(7):树形显示进程

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -axjf
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    1   852   852   852 ?           -1 Ssl    995  15:56 /usr/sbin/mysqld --basedir=/usr
    1  1042  1042  1042 ?           -1 Ss       0   0:00 /usr/sbin/sshd -D
 1042 20537 20537 20537 ?           -1 Ss       0   0:00  _ sshd: root@pts/0
20537 20539 20539 20539 pts/0    24360 Ss       0   0:00      _ -bash
20539 22155 22154 20539 pts/0    24360 T        0   0:00          _ less
20539 22297 22296 20539 pts/0    24360 T        0   0:00          _ less
20539 24360 24360 20539 pts/0    24360 R+       0   0:00          _ ps -axjf
    1  8709  8709  8709 ?           -1 Ss       0   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
 8709  8710  8709  8709 ?           -1 S      997   0:01  _ nginx: worker process
    1 10039 10039 10039 ?           -1 Ssl      0  79:39 /usr/sbin/aliyun-service
    1  5599  5599  5599 ?           -1 S<sl     0   4:38 /usr/local/aegis/aegis_update/AliYunDunUpdate
    1  5644  5644  5644 ?           -1 S<sl     0  78:15 /usr/local/aegis/aegis_client/aegis_10_85/AliYunDun

进程显示树形还有另一个命令pstree

[root@iZuf60ynur81p6k0ysvtneZ /]# pstree
systemd─┬─AliYunDun───22*[{AliYunDun}]
        ├─AliYunDunUpdate───3*[{AliYunDunUpdate}]
        ├─2*[agetty]
        ├─aliyun-service───2*[{aliyun-service}]
        ├─atd
        ├─auditd───{auditd}
        ├─chronyd
        ├─crond
        ├─dbus-daemon
        ├─dhclient
        ├─mysqld───29*[{mysqld}]
        ├─nginx───nginx
        ├─php-fpm───7*[php-fpm]
        ├─polkitd───6*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd───sshd───bash─┬─2*[less]
        │                    └─pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        └─tuned───4*[{tuned}]

 

(9):显示安全信息


如果想要查看现在有谁登入了你的服务器。可以使用ps命令加上相关参数:

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -eo pid,user,args
  PID USER     COMMAND
  471 polkitd  /usr/lib/polkit-1/polkitd --no-debug
  472 dbus     /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
  487 root     /usr/lib/systemd/systemd-logind
  498 chrony   /usr/sbin/chronyd
  504 root     /usr/sbin/atd -f
  512 root     /usr/sbin/crond -n
  990 apache   php-fpm: pool www
  991 apache   php-fpm: pool www
  992 apache   php-fpm: pool www
  993 apache   php-fpm: pool www
  994 apache   php-fpm: pool www
 1042 root     /usr/sbin/sshd -D
 1170 apache   php-fpm: pool www
 1202 apache   php-fpm: pool www
8710 nginx    nginx: worker process

 

(10):把所有进程显示出来,并输出到ps001.txt文件

ps -aux > ps001.txt

(11):输出指定的字段

[root@iZuf60ynur81p6k0ysvtneZ /]# ps -o pid,ppid,pgrp,session,tpgid,comm
  PID  PPID  PGRP  SESS TPGID COMMAND
20539 20537 20539 20539 24823 bash
22155 20539 22154 20539 24823 less
22297 20539 22296 20539 24823 less
24602 20539 24602 20539 24823 watch
24643 20539 24643 20539 24823 watch
24823 20539 24823 20539 24823 ps

 

我这里对ps aux命令输出的每一列都代表什么解释一下:


USER:该进程是由哪个用户产生的


PD:进程的D号


%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;


%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;


VSZ:该进程占用虚拟内存的大小,单位KB;


RSS:该进程占用实际物理内存的大小,单位KB;


TTY:该进程是在哪个终端中运行的。对于CentOS来说,y1是图形化终端,


ty2-y6是本地的字符界面终端。pts/0-255代表虚拟终端。


STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、S:包含子进程、1:多线程、+:前台显示


START:该进程的启动时间~


最后,这里再扩展一个查看进程树的命令:pstree,运行实例如下

root@iZijvdp1z0m5q4Z:~# pstree
systemd─┬─AliSecGuard───6*[{AliSecGuard}]
        ├─AliYunDun───25*[{AliYunDun}]
        ├─AliYunDunUpdate───5*[{AliYunDunUpdate}]
        ├─CmsGoAgent.linu─┬─exe───12*[{exe}]
        │                 └─5*[{CmsGoAgent.linu}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─2*[agetty]
        ├─aliyun-service───8*[{aliyun-service}]
        ├─assist_daemon───7*[{assist_daemon}]
        ├─atd
        ├─chronyd
        ├─cron───6*[cron───sh───lynx───lynx]
        ├─dbus-daemon
        ├─mysqld───62*[{mysqld}]
        ├─networkd-dispat───{networkd-dispat}
        ├─nginx───2*[nginx]
        ├─php-fpm7.3───3*[php-fpm7.3]
        ├─redis-server───3*[{redis-server}]
        ├─rsyslogd───3*[{rsyslogd}]
        ├─sshd───sshd───bash───pstree
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-network
        ├─systemd-resolve
        ├─systemd-udevd
        └─unattended-upgr───{unattended-upgr}

pstree命令将所有进程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本进程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的进程。


有好的建议,请在下方输入你的评论。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
5月前
|
监控 关系型数据库 MySQL
在CentOS系统中,如何统计哪个进程打开了文件描述符?
利用上述方法,你可以有效地监控和统计CentOS系统中的进程打开的文件描述符数量,以帮助排查错误或优化系统配置。通过组合使用各种工具和命令,可以获得对系统状态和行为的深入了解,进而做出相应的调整和
260 5
|
11月前
|
并行计算 Linux
Linux内核中的线程和进程实现详解
了解进程和线程如何工作,可以帮助我们更好地编写程序,充分利用多核CPU,实现并行计算,提高系统的响应速度和计算效能。记住,适当平衡进程和线程的使用,既要拥有独立空间的'兄弟',也需要在'家庭'中分享和并行的成员。对于这个世界,现在,你应该有一个全新的认识。
373 67
|
10月前
|
Web App开发 Linux 程序员
获取和理解Linux进程以及其PID的基础知识。
总的来说,理解Linux进程及其PID需要我们明白,进程就如同汽车,负责执行任务,而PID则是独特的车牌号,为我们提供了管理的便利。知道这个,我们就可以更好地理解和操作Linux系统,甚至通过对进程的有效管理,让系统运行得更加顺畅。
284 16
|
10月前
|
Unix Linux
对于Linux的进程概念以及进程状态的理解和解析
现在,我们已经了解了Linux进程的基础知识和进程状态的理解了。这就像我们理解了城市中行人的行走和行为模式!希望这个形象的例子能帮助我们更好地理解这个重要的概念,并在实际应用中发挥作用。
201 20
|
9月前
|
监控 Shell Linux
Linux进程控制(详细讲解)
进程等待是系统通过调用特定的接口(如waitwaitpid)来实现的。来进行对子进程状态检测与回收的功能。
213 0
|
9月前
|
存储 负载均衡 算法
Linux2.6内核进程调度队列
本篇文章是Linux进程系列中的最后一篇文章,本来是想放在上一篇文章的结尾的,但是想了想还是单独写一篇文章吧,虽然说这部分内容是比较难的,所有一般来说是简单的提及带过的,但是为了让大家对进程有更深的理解与认识,还是看了一些别人的文章,然后学习了学习,然后对此做了总结,尽可能详细的介绍明白。最后推荐一篇文章Linux的进程优先级 NI 和 PR - 简书。
285 0
|
9月前
|
存储 Linux Shell
Linux进程概念-详细版(二)
在Linux进程概念-详细版(一)中我们解释了什么是进程,以及进程的各种状态,已经对进程有了一定的认识,那么这篇文章将会继续补全上篇文章剩余没有说到的,进程优先级,环境变量,程序地址空间,进程地址空间,以及调度队列。
168 0
|
9月前
|
Linux 调度 C语言
Linux进程概念-详细版(一)
子进程与父进程代码共享,其子进程直接用父进程的代码,其自己本身无代码,所以子进程无法改动代码,平时所说的修改是修改的数据。为什么要创建子进程:为了让其父子进程执行不同的代码块。子进程的数据相对于父进程是会进行写时拷贝(COW)。
230 0
|
弹性计算 运维 监控
基于进程热点分析与系统资源优化的智能运维实践
智能服务器管理平台提供直观的可视化界面,助力高效操作系统管理。核心功能包括运维监控、智能助手和扩展插件管理,支持系统健康监控、故障诊断等,确保集群稳定运行。首次使用需激活服务并安装管控组件。平台还提供进程热点追踪、性能观测与优化建议,帮助开发人员快速识别和解决性能瓶颈。定期分析和多维度监控可提前预警潜在问题,保障系统长期稳定运行。
525 17
|
12月前
|
存储 Linux 调度
【Linux】进程概念和进程状态
本文详细介绍了Linux系统中进程的核心概念与管理机制。从进程的定义出发,阐述了其作为操作系统资源管理的基本单位的重要性,并深入解析了task_struct结构体的内容及其在进程管理中的作用。同时,文章讲解了进程的基本操作(如获取PID、查看进程信息等)、父进程与子进程的关系(重点分析fork函数)、以及进程的三种主要状态(运行、阻塞、挂起)。此外,还探讨了Linux特有的进程状态表示和孤儿进程的处理方式。通过学习这些内容,读者可以更好地理解Linux进程的运行原理并优化系统性能。
449 4