Disclaimer: This article is a blogger original article, follow the CC 4.0 BY-SA copyright agreement, reproduced, please attach the original source link and this statement.
ps command to find the PID number associated with the process:
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。显示有效用户的相关进程
ps x 显示所有程序,列出比较完整的信息
查询系统所有进程数据 ps aux
查看不与terminal有关的进程 ps ax
查看同一部分进程树状态 ps axjf
ps可以与grep组合一起查询
ps -ef | grep java 表示查看所有进程里 CMD 是 java 的进程信息等等
Query and kill the process
// 获取终端上所有用户的有关进程的所有信息
[root@localhost~]$ sudo ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 128092 4724 ? Ss Jun25 0:03 /usr/lib/systemd/syste
root 2 0.0 0.0 0 0 ? S Jun25 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Jun25 0:00 [ksoftirqd/0]
root 6 0.0 0.0 0 0 ? S Jun25 0:00 [kworker/u256:0]
root 7 0.0 0.0 0 0 ? S Jun25 0:00 [migration/0]
...
root 235 0.0 0.0 0 0 ? S< Jun25 0:00 [mpt/0]
root 241 0.0 0.0 0 0 ? S Jun25 0:00 [scsi_eh_0]
root 243 0.0 0.0 0 0 ? S< Jun25 0:00 [scsi_tmf_0]
root 245 0.0 0.0 0 0 ? S Jun25 0:00 [scsi_eh_1]
root 246 0.0 0.0 0 0 ? S Jun25 0:00 [kworker/u256:2]
...
// 获取某服务程序的所有进程号
[root@localhost~]$ pgrep httpd
6703
6704
6705
6706
// 杀死进程,killall通过程序名字杀死所有进程。 `pgrep {programName}`查看进程是否存在
[root@localhost~]$
[root@localhost~]$ killall httpd
[root@localhost~]$ pgrep httpd
[root@localhost~]$
[root@localhost~]$ sudo kill -9 11719 # 普通kill无法杀死,那么就发送-9信号直接强制杀死
[root@localhost~]$ kill 11735 # 普通后台运行程序可以直接kill
[root@localhost~]$ ps -aux | grep java # 查看java进程
[root@localhost~]$ ps -aux | grep pid # 根据 pid 查看进程
// `ps -ef | grep {programName}`查看进程是否存在
[root@localhost~]$ ps -ef | grep {programName}
[root@localhost~]$ kill -9 {PID}
View Port occupation
lsof
Open the file list the current system, often with the -i option is used for viewing a program which port is occupied
[root@bogon ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 6701 root 4u IPv6 64259 0t0 TCP *:http (LISTEN)
httpd 6702 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN)
httpd 6703 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN)
httpd 6704 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN)
httpd 6705 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN)
httpd 6706 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN)
[root@bogon ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 931 root 3u IPv4 20955 0t0 TCP *:ssh (LISTEN)
sshd 931 root 4u IPv6 20965 0t0 TCP *:ssh (LISTEN)
sshd 3926 root 3u IPv4 36374 0t0 TCP bogon:ssh->bogon:53436 (ESTABLISHED)
[root@bogon ~]#
Header head
USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚拟的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,kbytes字节
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
R运行 Runnable(on run queue) 正在运行或在运行队列中等待。
s 睡眠 Sleeping 休眠中,受阻,在等待某个条件的形成或者接受到信号。
I 空闲 Idie
Z 僵死 进程已终止,但进程描述符存在,直到父进程调用wait4系统调用后释放。
D 不可中断 收到信号不唤醒和不可运行,进程必须等待直到有中断发生。
T 终止 进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行。
P 等待交换页
W 无驻留页 没有足够的记忆体分页可分配。
x 死掉的进程
《 高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程)
I 多进程的
+ 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识。