ps命令是查看进程状态的基础指令,有以下几个常用参数:
一:最常用的参数组合及解析
1. 如果想查看包含其他使用者的进程,和PID,CPU占有率,记忆体使用情况,运行状态等,可以输入ps -aux
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,因为它们是由系统启动的
STAT:该进程的状态,有下一个板块的几个状态,D,R,S,T,Z是ps指令标识进程的5种状态码
TIME:进程已消耗的CPU时间
CMD:启动进程的命令
2.当前所有的进程. 包括显示创建进程的用户标识uid, 进程标识pid, 父进程标识ppid, 创建时间,所执行程序,可以用ps -ef
3.ps lax可以提供进程ID,父进程PPID,谦让度和等待的资源
其中
NI:谦让度
WCHAN:正在等待的进程资源
Linux上进程的五种状态:
1.R——Runnable(运行):正在运行或在运行队列中等待
2.S——sleeping(中断):休眠中,受阻,在等待某个条件的形成或接收到信号
3.D——uninterruptible sleep(不可中断):收到信号不唤醒和不可运行,进程必须等待知道有种段发生
4.Z——zombie(僵死):进程已终止,但进程描述还在,直到父进程调用wait4()系统调用后史昂
5.T——traced or stoppd(停止):进程收到SiGSTOP,SIGSTP,SIGTOU信号后停止运行
状态后缀表示:
<:优先级高的进程
N:优先级低的进程
L:有些页被锁进内存
s:进程的领导者(在它之下有子进程)
l:ismulti-threaded (using CLONE_THREAD, like NPTL pthreads do)
+:位于后台的进程组
二:其他参数:
1.-A: 将所有的进程都显示出来,和-e的效果相同,节选如下图:
2.-a: 显示现行终端机下的所有程序,包括其他用户的程序,节选如下图:
3.-u: 以用户为主的格式来显示进程的详细状态,节选如下图:
4.-x: 显示没有控制终端的进程,节选如下图:
5.-r: 只显示正在运行的程序
6.e: 列出程序时,显示出每个程序的环境变量
如果需要查找某一个特定的进程,可以把ps和grep一起用
ps -aux|grep Oracle,查找Oracle的进程
或者在grep后输入进程ID可以查看有关进程,如图: