linux ps命令 详细介绍

使用ps查看进程工具
1、ps查看进程工具
例1:常用的参数:
a: 显示跟当前终端关联的所有进程
u: 基于用户的格式显示(U: 显示某用户ID所有的进程)
x: 显示所有进程,不以终端机来区分
例2:常用的选项组合是 ps -aux
[[email protected] ~]# ps aux | more
linux ps命令 详细介绍注: 最后一列[xxxx] 使用方括号括起来的进程是内核态的进程。 没有括起来的是用户态进程。

上面的参数输出每列含意:
USER: 启动这些进程的用户
PID: 进程的ID
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
VSZ:进程占用的虚拟内存大小(单位:KB)
RSS:进程占用的物理内存大小(单位:KB)
STAT:该程序目前的状态,Linux进程有5种基本状态:
R :该程序目前正在运作,或者是可被运作;
S :该程序目前正在睡眠当中 (可说是 idle 状态啦!),但可被某些讯号(signal) 唤醒。
T :该程序目前正在侦测或者是停止了;
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
D 不可中断状态.
5个基本状态后,还可以加一些字母,比如:Ss、R+,如下图:
linux ps命令 详细介绍
linux ps命令 详细介绍

它们含意如下::
<: 表示进程运行在高优先级上
N: 表示进程运行在低优先级上
L: 表示进程有页面锁定在内存中
s: 表示进程是控制进程
l: 表示进程是多线程的
+: 表示当前进程运行在前台
START:该 process 被触发启动的时间;
TIME :该 process 实际使用 CPU 运作的时间。
COMMAND:该程序的实际指令

ctrl-c 是发送 SIGINT 信号,终止一个进程
ctrl-z 是发送 SIGSTOP信号,挂起一个进程。将作业放置到后台(暂停)
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。代表输入完成或者注销

2、ps常用的参数: ps -ef
-e 显示所有进程
-f 显示完整格式输出
我们常用的组合: ps -ef
linux ps命令 详细介绍
包含的信息如下
UID: 启动这些进程的用户
PID: 进程的ID
PPID: 父进程的进程号
C: 进程生命周期中的CPU利用率
STIME: 进程启动时的系统时间
TTY: 表明进程在哪个终端设备上运行。如果显示 ?表示与终端无关,这种进程一般是内核态进程。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等,则表示运行在虚拟终端上的进程。
TIME: 运行进程一共累计占用的CPU时间
CMD: 启动的程序名称

注:
ps aux 是用BSD的格式来显示进程。
ps -ef 是用标准的格式显示进程

lsof命令
lsof命令用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)
-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
[[email protected] ~]# lsof -p 6401
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 6401 root cwd DIR 8,3 4096 1074693505 /root
vim 6401 root rtd DIR 8,3 4096 96 /
vim 6401 root txt REG 8,3 2337192 1612485810 /usr/bin/vim
vim 6401 root mem REG 8,3 61624 158601 /usr/lib64/libnss_files-2.17.so
vim 6401 root mem REG 8,3 106075056 1075397126 /usr/lib/locale/locale-archive…

[[email protected] ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1221 root 3u IPv4 23532 0t0 TCP *:ssh (LISTEN)
sshd 1221 root 4u IPv6 23534 0t0 TCP *:ssh (LISTEN)
sshd 31449 root 3u IPv4 39718322 0t0 TCP se2:ssh->10.6.249.20:62742 (ESTABLISHED)
sshd 32419 root 3u IPv4 39718861 0t0 TCP se2:ssh->10.6.249.20:62745 (ESTABLISHED)
[[email protected] ~]#

pstree工具使用
pstree:(display a tree of processes)以树状图显示进程,只显示进程的名字,且相同进程合并显示。
格式:pstree 或 pstree -p
以树状图显示进程,还显示进程PID。
[[email protected] ~]# pstree -p | more
systemd(1)-±NetworkManager(937)-±{NetworkManager}(992)
| -{NetworkManager}(994) |-abrt-watch-log(890) |-abrt-watch-log(930) |-abrtd(889) |-accounts-daemon(931)-+-{accounts-daemon}(938) |-{accounts-daemon}(945)
|-at-spi-bus-laun(2181)-±dbus-daemon(2186)
| |-{at-spi-bus-laun}(2182)
| |-{at-spi-bus-laun}(2183)
| -{at-spi-bus-laun}(2185) |-at-spi2-registr(2188)-+-{at-spi2-registr}(2190) |-{at-spi2-registr}(2191)
|-atd(1249)