Linux下使用ps命令查看进程状态【ps常用命令】

Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

简介

linux上进程有以下种状态:

  •   R  可运行状态:此时进程正在运行或者正在运行队列中等待准备运行
  •   等待状态(阻塞状态):此时进程在等待一个事件的发生或某种系统资源。在Linux系统中等待状态又细分为两种等待状态:可中断的等待状态和不可中断的等待状态。
        S 可中断的等待状态:处于可中断的等待状态的进程可以被某一信号中断
        D 不可中断的等待状态:处于不可中断的等待状态的进程不受信号的打扰,将一直等待事件的发生或等待某种系统资源
  •   T 暂停状态或跟踪状态:处于暂停状态的进程被暂停运行
  •   Z 僵死状态:每个进程在运行结束后都会处于僵死状态,等待父进程调用进而释放系统资源,处于该状态的进程已经运行结束,但是它的父进程还没有释放其系统资源。
  •   X 退出状态:进程即将被销毁。

ps工具标识进程的5种状态码:

  • R:可运行状态
  • S:可中断的等待状态
  • D:不可中断的等待状态
  • T:暂停状态
  • Z:僵死状态

 

ps常用命令

1.  ps -aux

 如果想查看包含其他使用者的进程,和PID,CPU占有率,记忆体使用情况,运行状态等,可以输入

[root@localhost ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.6 127964  6532 ?        Ss   17:13   0:02 /usr/lib/syste
root          2  0.0  0.0      0     0 ?        S    17:13   0:00 [kthreadd]
root          4  0.0  0.0      0     0 ?        S<   17:13   0:00 [kworker/0:0H]
root          5  0.0  0.0      0     0 ?        S    17:13   0:00 [kworker/u256:
root          6  0.0  0.0      0     0 ?        S    17:13   0:00 [ksoftirqd/0]
root          7  0.0  0.0      0     0 ?        S    17:13   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    17:13   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        R    17:13   0:00 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S<   17:13   0:00 [lru-add-drain
...

USER:进程拥有者,示例中是root。
PID:进程ID,用户ID为UID,父进程ID为PPID
%CPU:占用的CPU使用率,ID号为1的进程为0
%MEM:占用的物理内存百分比,ID号为1的进程为0
VSZ:占用的虚拟内存量,ID号为1的进程为194184
RSS:占用的固定的内存量,ID号为1的进程为6536
TTY:终端的次要装置号码(minor device number of tty),示例中的TTY列都是“?”,是表示这些进程不属于任何TTY,因为它们是由系统启动的,tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该进程的状态,有下一个板块的几个状态,D,R,S,T,Z是ps指令标识进程的5种状态码
TIME:进程已消耗的CPU时间
CMD:启动进程的命令

2. ps -ef

当前所有的进程。包括显示创建进程的用户标识uid, 进程标识pid, 父进程标识ppid, 创建时间,所执行程序,可以用ps -ef

3. ps lax

ps lax可以提供进程ID,父进程PPID,谦让度和等待的资源

其中

NI:谦让度

WCHAN:正在等待的进程资源

 

其他参数:

1.-A: 将所有的进程都显示出来,和-e的效果相同,节选如下图:

2.-a: 显示现行终端机下的所有程序,包括其他用户的程序,节选如下图:

3.-u: 以用户为主的格式来显示进程的详细状态,节选如下图:

4.-x: 显示没有控制终端的进程,节选如下图:

5.-r: 只显示正在运行的程序

6.e: 列出程序时,显示出每个程序的环境变量

 

 

如果需要查找某一个特定的进程,可以把ps和grep一起用

ps -aux|grep Oracle,查找Oracle的进程

或者在grep后输入进程ID可以查看有关进程,如图:

 

ps命令Linux中非常常用的命令之一,它用于显示当前系统中正在运行的进程信息。具体使用方式如下: 1. 显示所有进程信息 ``` ps -ef ``` 2. 显示当前用户进程信息 ``` ps -u username ``` 3. 显示指定进程信息 ``` ps -p pid ``` 其中,-e选项用于显示所有进程,-f选项用于显示进程的详细信息;-u选项用于指定用户,-p选项用于指定进程ID。补充一下: 4.显示进程树形结构 ``` pstree ``` 5.显示进程内存使用情况 ``` ps -o pid,ppid,cmd,%mem,%cpu --sort=-%mem ``` 其中,-o选项用于指定输出格式,%mem用于显示内存使用率,%cpu用于显示CPU使用率,--sort选项用于按照指定的列进行排序,-表示倒序排序。 6.显示进程CPU使用情况 ``` ps -o pid,ppid,cmd,%cpu,%mem --sort=-%cpu ``` 同样,%cpu用于显示CPU使用率,%mem用于显示内存使用率,--sort选项用于按照指定的列进行排序,-表示倒序排序。好的,下面是关于 Linux 常用命令 `ps` 的一些信息: `ps` 命令用于列出当前系统中的进程信息,包括进程 ID、进程状态、CPU 占用率、内存占用率等等。 常用的 `ps` 命令选项包括: - `-e`:列出所有进程 - `-f`:显示完整的进程信息 - `-u`:指定用户,列出该用户的进程 - `-aux`:显示所有进程信息,包括其他用户的进程 例如,要列出当前系统中所有进程的详细信息,可以使用以下命令: ``` ps -ef ``` 输出结果包括每个进程的用户、进程 ID、父进程 ID、CPU 占用率、内存占用率、启动时间、进程命令等信息。 除了 `ps` 命令本身的选项,还可以使用一些其他命令来对 `ps` 的输出进行过滤或排序,比如: - `grep`:过滤包含指定字符串的行 - `sort`:按指定的字段进行排序 - `awk`:对每行进行处理并输出指定的字段 例如,要找出所有包含关键字 "nginx" 的进程,并按 CPU 占用率从高到低排序,可以使用以下命令: ``` ps -ef | grep nginx | sort -k 3 -r | awk '{print $2, $3, $8}' ``` 输出结果包括进程 ID、CPU 占用率和进程命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值