ps命令的功能是按不同的方式显示系统当前的进程情况。它有很多的参数,功能也非常强大:
-A 显示所有进程(等价于-e)。
-a 显示一个终端的所有进程,除了会话引线。
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线。
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。
-p pid 进程使用cpu的时间。
-u uid or username 选择有效的用户id或者是用户名。
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。
-f 全部列出,通常和其他选项联用。
-l 长格式。
-j 作业格式。
-o 用户自定义格式。
v 以虚拟存储器格式显示。
s 以信号格式显示。
-m 显示所有的线程。
-H 显示进程的层次。
e 命令之后显示环境。
h 不显示第一行。
一般情况下常用的ps参数组合-aux如下:
ps -aux root 702 0.0 0.0 51228 3284 ? S<sl 08:51 0:00 /sbin/auditd -n avahi 719 0.0 0.0 28088 2900 ? Ss 08:51 0:00 avahi-daemon: running [LIDQ.local] root 720 0.0 0.0 17056 2716 ? Ss 08:51 0:00 /usr/sbin/irqbalance --foreground avahi 722 0.0 0.0 27960 224 ? S 08:51 0:00 avahi-daemon: chroot helper root 723 0.0 0.0 204184 3344 ? Ssl 08:51 0:00 /usr/sbin/gssproxy -D root 735 0.0 0.0 331732 7592 ? Ssl 08:51 0:00 /usr/sbin/ModemManager root 738 0.0 0.0 26616 3844 ? Ss 08:51 0:00 /usr/sbin/smartd -n -q never chrony 741 0.0 0.0 115844 3656 ? S 08:51 0:00 /usr/sbin/chronyd root 743 0.0 0.1 522068 13576 ? Ssl 08:51 0:00 /usr/sbin/rsyslogd -n
使用ef:
ps -ef root 62 2 0 08:51 ? 00:00:00 [kpsmoused] root 64 2 0 08:51 ? 00:00:00 [dm_bufio_cache] root 65 2 0 08:51 ? 00:00:00 [ipv6_addrconf] root 66 2 0 08:51 ? 00:00:00 [deferwq] root 104 2 0 08:51 ? 00:00:00 [kauditd] root 284 2 0 08:51 ? 00:00:00 [kworker/0:1H] root 286 2 0 08:51 ? 00:00:00 [kworker/1:1H] root 372 2 0 08:51 ? 00:00:00 [kdmflush] root 373 2 0 08:51 ? 00:00:00 [bioset] root 386 2 0 08:51 ? 00:00:00 [kdmflush]
使用top命令可以实时查看系统中的进程情况:
top - 11:57:50 up 3:06, 2 users, load average: 1.70, 1.15, 0.82 Tasks: 214 total, 2 running, 212 sleeping, 0 stopped, 0 zombie %Cpu(s): 41.1 us, 12.0 sy, 0.0 ni, 47.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 KiB Mem : 8141412 total, 2644508 free, 2208984 used, 3287920 buff/cache KiB Swap: 10239996 total, 10239996 free, 0 used. 5303348 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4479 lidq 20 0 1177348 246016 54488 S 34.5 3.0 9:54.25 chrome 4442 lidq 20 0 1221788 353724 101056 R 23.8 4.3 4:42.57 chrome 3892 lidq 20 0 2682960 29572 16904 S 13.9 0.4 25:24.53 QQApp.exe 4302 lidq 20 0 1055448 125876 61500 S 11.2 1.5 2:52.12 chrome 4265 lidq 20 0 1611844 195908 105632 S 8.1 2.4 3:00.88 chrome 1790 root 20 0 361852 56296 38500 S 4.5 0.7 13:00.97 Xorg.bin 3806 lidq 20 0 2913340 212916 49512 S 3.6 2.6 15:11.64 qdwnd=13+ 3692 lidq 20 0 53380 42740 1904 S 2.7 0.5 4:59.48 wineserv+ 4419 lidq 20 0 764596 16808 12912 S 1.3 0.2 1:18.10 mocp 1894 lidq 20 0 304360 28184 22272 S 0.9 0.3 0:32.07 xfwm4 3540 lidq 20 0 638352 43540 28984 S 0.9 0.5 0:12.08 gnome-te+ 9 root 20 0 0 0 0 S 0.4 0.0 0:05.84 rcuos/0 2004 lidq 9 -11 568056 14072 11344 S 0.4 0.2 0:41.15 pulseaud+ 2028 lidq 20 0 877496 59000 48856 S 0.4 0.7 0:06.31 EasyRemi+ 3733 lidq 20 0 2695332 38776 24024 S 0.4 0.5 0:10.79 QQProtec+ 11263 root 20 0 0 0 0 S 0.4 0.0 0:00.70 kworker/+ 11645 lidq 20 0 146496 3964 3224 R 0.4 0.0 0:00.16 top 1 root 20 0 123540 9376 5324 S 0.0 0.1 0:02.49 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.63 ksoftirq+ 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/+
来看一下这些内容的实际作用:
1.top - 11:57:50 up 3:06, 2 users, load average: 1.70, 1.15, 0.82
11:57:50:当前系统时间
3:06:系统已运行了3小时6分钟
2 users:当前有2个用户登录系统
load average: 1.70, 1.15, 0.82:load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
2.Tasks: 214 total, 2 running, 212 sleeping, 0 stopped, 0 zombie
Tasks:任务(进程),系统现在共有214个进程,其中处于运行中的有2个,212个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
3.%Cpu(s): 41.1 us, 12.0 sy, 0.0 ni, 47.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0
41.1% us:用户空间占用CPU的百分比。
12.0% sy:内核空间占用CPU的百分比。
0.0% ni:改变过优先级的进程占用CPU的百分比
47.0% id:空闲CPU百分比
0.0% wa:IO等待占用CPU的百分比
0.0% hi:硬中断(Hardware IRQ)占用CPU的百分比
0.0% si:软中断(Software Interrupts)占用CPU的百分比
4.KiB Mem : 8141412 total, 2644508 free, 2208984 used, 3287920 buff/cache
8141412 total:物理内存总量
2644508 free:空闲内存总量
2208984 used:使用中的内存总量
3287920 buffers:缓存的内存量
5.KiB Swap: 10239996 total, 10239996 free, 0 used. 5303348 avail Mem
10239996 total:交换区总量
0 used:使用的交换区总量
10239996 free:空闲交换区总量
5303348 avail Mem:有效总量
在这些总信息之后是系统进程情况,其格式为:
PID:进程id
USER:进程所有者
PR:进程优先级
NI:nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:共享内存大小,单位kb
S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:进程名称(命令名/命令行)
在top的主视图中可以输入下面的命令来执行相关操作:
P:以 CPU 占用率大小的顺序排列进程列表。
M:以内存占用率大小的顺序排列进程列表。
s:改变画面更新频率。
l:关闭或开启第一部分第一行 top 信息的表示。
t:关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示。
m:关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示。
N:以 PID 的大小的顺序排列表示进程列表。
P:以 CPU 占用率大小的顺序排列进程列表。
M:以内存占用率大小的顺序排列进程列表。
h:显示帮助。
n:设置在进程列表所显示进程的数量。
q:退出 top。
s:改变画面更新周期。
kill命令用来中止一个进程。它格式如下:
kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ]
参数说明为:
-s:指定发送的信号。
-p:模拟发送信号。
-l:指定信号的名称列表。
pid:要中止进程的ID号。
signal:表示信号。
比如杀死一个进程号为3587的进程:
kill 3587
比如强行杀死一个进程号为6841的进程:
kill -9 6841
Copyright © 2015-2023 问渠网 辽ICP备15013245号