ps命令
ps [OPTION]
支持三种选项
UNIX选项 如-A -e
BSD选项 如a
GNU选项 如–help
选项:默认显示当前终端中的进程
a 选项包括所有终端中的进程
x 选项包括不连接终端的进程
u 选项显示进程所有者的信息
f 选项显示进程树,相当于 –forest
k|–sort 属性 对属性排序,属性前加- 表示倒序
o 属性… 选项显示指定的信息pid、cmd、%cpu、%mem
L 显示支持的属性列表(ps axo 指定的选项列表)
ps常见选项
-C cmdlist指定命令,多个命令用,分隔(脚本不写#!/bin/bash 无法查看,bash执行的命令也无法查看)
-L 显示进程
-e 显示所有进程,相当于-A
-f 显示完整格式程序信息
-F 显示更完整格式的进程信息
-H 以进程层级格式显示进程相关信息
-u userlist 指定有效用户ID或名称(执行该程序的用户suid)
-U userlist 指定真正用户ID或名称(发起执行程序的用户)
-g gid或groupname 指定有效的gid或组名称
-G gid或groupname 指定真正的gid或组名称
-p pid 显示指定pid的进程
–ppid pid 显示属于pid的子进程
-M 显示SELinux信息,相当于Z
ps输出属性
PSR:程序跑在某个CPU(CentOS6上程序跑在某颗CPU上可能会不变,CentOS7 程序跑在CPU上可能会变,时间片用完就可能会换别的CPU上)
VSZ:Virtual memory SiZe,虚拟内存集,线性内存
RSS:ReSident Size,常驻内存集
STAT:进程状态
R:running
S:interruptable sleeping
D: uninterruptable sleeping
T: stopped
Z: zombie
+: 前台进程
l:多线程
L:内存分页级并带锁
N:低优先即进程
<: 高优先级进程
s:session leader,会话(子进程)发起者
ni:nice值
pri:priority 优先级
psr:processor CPU编号
rtprio:实时优先级
示例:
ps axo pid,cmd,psr,ni,pri,rtprio
常用组合
axu
-ef
-eFH
-eo pid,tid,class,rtprio,ni,pri,pcpu,stat,comm
axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm (默认以pid排序)
ps示例
查询你(有效用户)拥有的所有进程
ps -x
显示指定用户名(RUID)或用户ID的进程
ps -fU apache
ps -fu 48
显示指定用户名(EUID)或用户ID的进程
ps -fu wang
ps -fu 1000
查看以root用户权限(实际和有效ID)运行的每个进程:
ps -U root -u root
列出某个组拥有的所有进程(实际组ID:RGID或名称)
ps -fG nginx
列出有效组名称(或会话)所拥有进程:
ps -fg mysql
ps -fG 27
通过进程ID来显示所属的进程
ps -fp 1234
以父进程ID来显示其下所有的进程,如显示父进程为1234的所有进程:
ps -f –ppid 1234
显示指定PID的多个进程
ps -fp 1204,1239,1263
要按tty显示所属进程
ps -ft pst/0
以进程树显示系统中的进程如何相互链接
ps -e –forest
以进程树显示指定的进程
ps -f –forest -C sshd
ps -ef –forest | grep -v grep | grep sshd
要显示一个进程的所有线程,将显示LWP(轻量级进程)以及NLWP(轻量级进程数)列
ps -fL -C nginx
要列出所有格式说明符
ps L
查看进程的PID,PPID,用户名和命令:
ps -eo pid,ppid,user,cmd
自定义格式显示文件系统组,ni值开始时间和进程的时间
ps -p 1234 -o pid,ppid,fgroup,ni,lstart,etime
使用其PID查找进程名称
ps -p 1244 -o comm=
要以其名称选择特定进程,显示其所有子进程
ps -C sshd,bash
查找指定进程名所有的所属PID,在编写需要从std输出或文件读取PID的脚本时这个参数很有用
ps -C httpd,sshd -o pid=
检查一个进程的执行时间
ps -eo comm,etime,user | grep nginx
查找占用最多内存和CPU的进程
ps -eo pid,ppid,cmd,%mem,%cpu –sort=-%mem | head (CentOS6 不能以mem排序)
ps -eo pid,ppid,cmd,%mem,%cpu –sort=-%cpu | head
显示安全信息
ps -eM
ps –context
使用以下命令以用户定义的格式显示安全信息
ps -eo euser(有效用户,同“user”),ruser(真实用户),suser,fuser,f,comm,label
使用watch实用程序执行重复的输出以实现对进程进行实时的监视,如下面的命令显示每秒钟的监视
watch -n 1 ‘ps -eo pid,ppid,cmd,%mem,%cpu –sort=-%mem | head ‘
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90419