Linux使用ps查看系统进程信息的多种姿势

    xiaoxiao2021-03-25  160

    本文摘自Linux Shell脚本编程一书。

    Linux中使用ps来查看系统进程的信息,其可以带不同的参数从而显示不同的结果。

    Linux使用的GNU ps命令支持三种不同类型的命令行参数。 Unix风格的参数,前面加单破折号 BSD风格的参数,前面不加破折号 GNU风格的长参数,前面加双破折号

    注意,下面的命令在某些系列某些版本的Linux上可能无法运行。

    首先是Unix风格的参数 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进行,输出的信息分别是: 程序的进程id(PID)、程序运行在哪一个终端(TTY)、进程已经使用的CPU时间、进程的名字(CMD); ps -A:显示所有的进程(ps -e) Ps -N:显示与指定参数不符的所有进程 Ps -a:显示除控制进程(session leader)和无终端进程外的所有进程 Ps -d:显示除控制进程之外的所有进程 Ps -C cmdlist:显示包含在cmdlist列表中的进程 Ps -G grplist:显示组id在grplist列表中的进程 Ps -U userlist:显示属主的用户ID在userlist列表中的进程 Ps -g grplist:显示会话或组ID在grplist列表中的进程 Ps -p pidlist:显示PID在pidlist列表中的进程 ps -s sesslist:显示会话ID在sesslist列表中的进程 Ps -t ttylist:显示终端ID在ttylist列表中的进程 Ps -u userlist:显示有效用户ID在userlist列表中的进程 Ps -F:显示更多的额外输出 Ps -O format:显示默认的输出列以及format列表指定的特定列 Ps -M:显示进程的安全信息 Ps -c:显示进程额外的调度信息 Ps -f:显示完整格式的输出 Ps -j:显示任务信息 Ps -l:显示长列表 Ps -y:不要显示进程标记 Ps -Z:显示安全标签信息 Ps -H:用层级格式来显示进程 Ps -w:采用宽输出模式,不限制宽度的显示 Ps -L:显示进程中的线程 Ps -V:显示ps命令的版本号

    常用的方式:ps -ef: UID:启动这些进程的用户; PID:进程的进程ID PPID:父进程的进程号(如果该进程是由另外的进程启动的) C:进程生命周期中的CPU利用率 STIME:进程启动时候的系统时间 TTY:进程启动时的终端设备 TIME:运行进程所需要的累计CPU时间。 CMD:启动的程序名称 Ps -l可以查看更多的信息: F:系统内核分配给进程的系统标记 S:进程的状态(O表示正在运行;S表示在休眠;R表示可运行,正等待运行;Z表示僵化进程已经结束但是父进程已经不存在;T表示停止)

    BSD风格的参数: Ps T:显示跟当前终端关联的所有进程 Ps a:显示跟任意终端关联的所有进程 Ps g:显示所有的进程,包括控制进程 Ps r:仅显示运行中的进程 Ps x:显示所有的进程,甚至包括未分配的任何终端的进程 ps Z:将安全信息添加到输出中 Ps X:按照过去的Linux i386寄存器的格式显示 Ps l:采用长模式 Ps j:显示任务信息 Ps s:采用信号格式显示 Ps u:采用基于用户的格式显示 Ps v:采用虚拟内存格式显示 Ps S:将数值信息从子进程加到父进程上,比如CPU和内存的使用情况 Ps c:显示真实的命令名称(用于启动进程的程序名称) Ps e:显示命令使用的环境变量 Ps f:用分层格式来显示进程,表明那些进程启动了哪些进程 Ps h:不显示头信息 Ps n:和WCHAN信息一起显示出来,用数值表示用户ID和组ID Ps w:为较宽的屏幕输出宽输出 Ps H:将线程按进程来显示 Ps m:在进程之后显示线程 Ps L:列出所有格式指定字符 Ps V:显示ps命令的版本号

    BSD格式下更为常用的用法: ps l VSZ:进程在内存中的大小,以千字节为单位 RSS:进程在未换出的时候占用的物理内存 STAT:代表当前进程状态的双字符码,其中第一位和Unix风格下的S列的值的意义相同,第二个参数的意义如下: < : 该进程运行在高优先级上 N : 该进程运行在低优先级上 L : 该进程有页面锁定在内存中 l : 该进程是多线程的 S : 该进程是控制进程 + : 该进程运行在前台

    GNU长参数: Ps –deselect:显示所有的进程 Ps –Group grplist:显示组ID在grplist列表中的进程 Ps –User userlist:显示用户ID在userlist列表中的进程 Ps –forest:用层级结构显示出进程和父进程之间的关系 Ps –headers:在每页输出中都显示列的头 Ps –no-headers:不显示列的头

    转载请注明原文地址: https://ju.6miu.com/read-1599.html

    最新回复(0)