Linux進程控制

1.進程的組成部分

一個進程由一個地址空間和內核內部的一組數據結構共同組成。地址空間是由內核標記出來供進程使用的一組內存頁面。

2.kill 發送信號

命令参数:

    -l :信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称。
    -a :当处理当前进程时,不限制命令名和进程号的对应关系。
    -p :指定kill 命令只打印相关进程的进程号,而不发送任何信号。
    -s :指定发送信号。
    -u :指定用户。

顧名思義,kill命令最常見的用法是終止一個進程。
kill -9 pid
killall 按名字殺死進程

3.ps:監視進程

ps

是系統管理員監視進程的主要工具。

ps aux
選項a的意思是顯示所有的進程。
x的意思是顯示沒有控制終端的進程。
u的意思是選擇“面向用戶”的輸出格式。
ps -ef
選項e選擇所有的進程。
f選項設置輸出格式。

top對活動進程及其所使用的資源情況提供定期更新的匯總信息。

pstree

该命令显示当前运行的所有进程及其相关的子进程,以树的格式输出。

基本格式:pstree 参数

说明:pestree命令对程序名称相同的会自动合并,所有“|-httpd---8*[httpd]”即表示系统中有8个httpd进程产生的子进程。

参数:

-a :显示出该命令的参数,假如这个命令进程被其他进程替换掉,那么进程将显示在括号中 -a 选项包含有压实进程树的选项,对于相同的进程,会使用n*(process)的形式展显出来。

-c :关闭禁用显示结果进程树,在默认情况下,进程子树是会被压缩的。不管有多少进程名相同的进程,都会逐个显示出来。

-G :使用vt100线性描述树

-h :突空出显示当前进程的父进程并高亮显示出来,如果没有父进程那么什么都不会显示。

-H :突出显示出指定进程的父进程信息并高亮显示出来,使用方法为 pstree  -H  PID

-l :显示长格式命令选项,在默认的情况下,命令行最多显示宽度为132bit  ,超过将不能正常显示。

-n :基于进程相同的祖先来进行排序,可以命名pid来代替进程名称 。

-p :显示所有的时程,显示结果包含进程名和时进程ID

-u :显示出用户的UID,无论何时,这个UID和进程比较UID参数,这个新的UID将在进程名后显示不同的参数。

-U :使用utf-8字符集以十进制表示,

-v :显示版本号。

top

第一行:任务队列信息

10:44:56    当前时间

up 104days,18:07    系统运行时间。104天,18小时07分钟。

2 user    当前登录用户数。

load average: 0.06, 0.60, 0.48    系统负载,即任务队列的平均长度。 三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值。

 

第二行:进程数信息

160 total    进程总数

1 running    正在运行的进程数

159 sleeping    睡眠的进程数

0 stopped    停止的进程数

0 zombie    僵尸进程数

 

第三行:CPU状态

0.0% us    用户进程占用CPU百分比。

0.0% sy    系统进程占用CPU百分比。

0.0% ni    用户进程空间内改变过优先级的进程占用CPU百分比。

100% id    空闲CPU百分比。

0.0% wa    IO等待占用CPU的百分比

0.0% hi    硬中断(Hardware IRQ)占用CPU的百分比

0.0% si    软中断(Software Interrupts)占用CPU的百分比

 

第四行:内存状态

3813844k total    物理内存总量

3693040k used    使用的物理内存总量

120804k free    空闲内存总量

116448k buffers    用作内核缓存的内存量

 

第五行:swap交换状态

4095992k total    交换区总量。

625764k used    使用的交换区总量。

3470228k free    空闲交换区总量。

374160k cached    缓冲的交换区总量。

 

第六行:空行

 

第七行以下:各进程的状态监控

PID    进程id

PPID    父进程id

RUSER    Real user name

UID    进程所有者的用户id

USER    进程所有者的用户名

GROUP    进程所有者的组名

TTY    启动进程的终端名。不是从终端启动的进程则显示为 ?

PR    优先级

NI    nice值。负值表示高优先级,正值表示低优先级。

P    最后使用的CPU,仅在多CPU环境下有意义

%CPU    上次更新到现在的CPU时间占用百分比

TIME    进程使用的CPU时间总计,单位秒

TIME+    进程使用的CPU时间总计,单位1/100秒

%MEM    进程使用的物理内存百分比

VIRT     进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

SWAP    进程使用的虚拟内存中,被换出的大小,单位kb。

RES    进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

CODE    可执行代码占用的物理内存大小,单位kb

DATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

SHR    共享内存大小,单位kb

nFLT    页面错误次数

nDRT    最后一次写入到现在,被修改过的页面数。

S    进程状态。 

            D=不可中断的睡眠状态
            R=运行
            S=睡眠
            T=跟踪/停止
            Z=僵尸进程

COMMAND    命令名/命令行

WCHAN    若该进程在睡眠,则显示睡眠中的系统函数名

Flags    任务标志,参考 sched.h
[root@VM_0_7_centos ~]# top
top - 09:30:45 up 196 days, 13:38,  1 user,  load average: 2.07, 3.14, 3.49
Tasks: 187 total,   5 running, 182 sleeping,   0 stopped,   0 zombie
%Cpu(s): 38.0 us, 19.2 sy,  0.0 ni,  0.0 id, 42.8 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1883616 total,    71796 free,  1537996 used,   273824 buff/cache
KiB Swap:        0 total,        0 free,        0 used.    89032 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND          
23070 centos    20   0  424124 175936   7500 R 51.0  9.3   0:06.64 ruby2.1          
32239 root      20   0 1191848  32784      0 S  1.7  1.7   1694:09 cadvisor         
   25 root      20   0       0      0      0 S  1.3  0.0   1351:31 kswapd0          
22140 centos    20   0 1088448 249760   1900 S  0.7 13.3   0:15.02 ruby2.1          
    3 root      20   0       0      0      0 R  0.3  0.0 422:55.08 ksoftirqd/0      
    9 root      20   0       0      0      0 R  0.3  0.0 219:46.26 rcu_sched        
14760 101       20   0   52588   1840    532 S  0.3  0.1 158:06.69 redis-server     
23364 root      20   0  164496   8672   1268 S  0.3  0.5  48:54.67 barad_agent      
26877 polkitd   20   0 1487892 100464      0 S  0.3  5.3  71:31.99 mysqld           
28015 root      20   0  571312  19612    212 S  0.3  1.0  23:19.41 YDService        
    1 root      20   0  190944   2292    800 S  0.0  0.1  27:02.92 systemd          
    2 root      20   0       0      0      0 S  0.0  0.0   0:04.37 kthreadd         
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H     
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0

猜你喜欢

转载自blog.csdn.net/qq_40279031/article/details/84282918