进程管理

命令:

pstree

         显示:进程树

         pstree–p

         显示:进程树和PID

 

         ps:process state

         Linux运行中的内核的相关信息是通过/proc伪文件系统输出的;各进程都有一个以其PID命名的子目录,每个子目录中有许多文件存储了进程的相关状态信息。显示的是ps命令执行时,系统上当前进程状态信息的快照;所以,为静态结果。

 

根据进程启动时是否是通过终端上的用户接×××互式启动的,进程可分为两类:

ps a

显示:终端相关的进程

ps x

显示:终端无关的进程

ps u

显示:用户为中心组织进程状态信息显示

 

常用选项组合1

ps axu

USER   PID   %CPU  %MEM  VSZ  RSS   TTY   STAT  START TIME  COMMAND

VSZ: Virtualmemory Size 线性地址空间占用的空间大小

RSS:常用驻内存集;指不可以被交换至swap空间的数据占据空间大小

STAT:进程状态

R: running,运行状态

Sinterruptiblesleeping,可中断睡眠

Duniterruptiblesleeping, 不可中断睡眠

T: stopped 停止态

Z: zombie 僵死态

s: session leader 会话主进程

+: 前台进程,占据着某终端

l: 多线程进程

<: 高优先级进程

N: 低优先级进程

        

START: 启动时间

TIME: 占据CPU累积时长

COMMAND: 启动当前进程或线程的命令行程序,[]表示为内核线程

 

常用选项组合2:

ps  –ef

-e: 显示所有进程

-f: 显示丰富格式信息

常用选项组合3

ps  -eFH

-F: 显示额外信息

-H: 以层级形式显示进程间关系

自定义需要显示的信息:

ps  axo  pid,command,psr,pri,ni

psr: 当前进程运行的CPU编号

pri: 当前进程的优先级

ni: 当前进程的nice -20, 19 值越小优先级越高

 

pgrep  –U “root”

仅显示以指定用户身份运行的进程

pgrep  –G “root”

pgrep  –l “tty”

 

pidof /bin/bash

 

uptime

显示系统负载行

 

top

进入另一个界面:

         P:以占据的CPU百分比大小排序

         M:以占据Memory空间大小排序

         TCPU累积占用时间排序

 

         l: 是否显示系统负载行 队列长度的合理区间:CPU颗数*0.7

         t: 是否显示进程摘要信息及CPU负载状态

         Cpu(s): 0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa, 0.0%hi,  0.0%si,  0.0%st

         us:user space

         sy:system (kernel space)

         ni:nice

         id:idle

         wa:wait io

         hi:hardware interrupt

         si:software interrupt

         st:stolen, 被虚拟机“偷走”的百分比

         1:(数字1)平均或单独显示CPU的负载状态

         m: 是否显示内存相关的状态信息

         q: 退出命令

         s: 修改延迟时长

         k: 终止指定进程

top –b –n 2

显示2批次的进程数量

top  –d  1

显示1秒延迟时长

 

 

htop  切换到交互界面

         u: 过滤仅显示选定用户的进程

         s:跟踪选定的进程所发起的系统

         l:显示选定进程所打开的文件

         t:显示进程的层次结构

         a:设定进程的cpu亲缘性(将选定的进程绑定在指定的CPU上)

htop –d 3 延迟时长3

htop –uroot  显示root用户的进程

 

vmstat 1 5

         1:延时时长1

         5:全部刷新5

vmstat 2

         2:延时时长2

 

         procs

                   r:等待运行的进程个数(队列长度)

                   b:处理不可中断睡眠状态的进程个数(即IO阻塞队列长度)

 

         memory

                   swpd:交换内存使用量

                   free:空间的物理内存量

                   buffer:用于缓冲的内存总量

                   cache:用于缓存的内存总量

 

         swap

                   si:数据进入swap中的速率(kb/s)

                   so:数据离开swap中的速率(kb/s)

 

         io

                   bi:从块设备读入数据到系统的速率(kb/s)

                   bo:保存数据至块设备的速率(kb/s)

 

         system

                   in:中断速率

                   cs:进程切换的速率

 

vmstat  -s  显示内在的状态统计数据

硬件接口文件:/proc/数字

pmap  -x 1  查看pid进程为1的内存映射关系

cat  /pro         c/1/maps  显示pid进程为1的内存映射关系

 

glances  显示硬件各数据状态

 

远程模式配置

         服务端

glances  –s  -B 192.168.1.110

                            -B用于指明监听本地地址

         客户端

                   glances  -c 192.168.1.110

                            -c 用于连入的服务端的IP地址

 

dstat  –c  显示cpu性能指标相关的统计数据

dstat  -d  显示disk相关的速率数据

dstat  -g   显示page相关的速率数据

dstat  -i   显示interrupt相关的速率数据

dstat  -l   显示loadaverage相关的统计数据

dstat  -m  显示memory相关的统计数据

dstat  -n  显示网络收发数据的速率

dstat  -p  显示进程相关的统计数据

dstat  -r  io请求的速率

dstat  -s  显示swap的相关数据

dstat  -y  显示系统相关的数据,包括中断和进程切换

dstat  --top-cpu 显示最占用CPU的进程

dstat  --top-bio 显示最消耗block io的进程

dstat  --top-io  最占用io的进程

dstat  --top-mem 显示最占用内存的进程

dstat  --ipc  显示进程间通信相关的速率数据

dstat  --raw  显示raw套接的相关的数据

dstat  --tcp  显示tcp套接字的相关数据

dstat  --udp  显示udp套接字的相关数据

dstat  --unix 显示unix sock接口相关的统计数据

dstat  -a  显示全部信息

dstat  显示全部信息

dstat  -cdngy 显示全部信息

 

进程间的短小信息

kill向进入发送信号

kill  -9  1198(PID) 发送9信号给1198(PID)进程

         信号表示意思:

         SIGHUP1, 通知进程重读其配置文件以让新的配置生效,但不用重新启动进程

         SIGINT2, 打断正在运行中的进程,相当于键盘组合键Ctrl+c

         SIGKILL9, 强行中止正在运行中的进程

         SIGTERM 15, 安全中止正在运行中的进程

         SIGSTOP 19, 暂停进程

         SIGCONT 18, 继续运行指定进程

 

killall  -9  vsftpd 发送9信号给vsftpd进程

 

作业运行于后台方式

         ctrl+z

         作业被送往后台后,默认处于stopped状态

         vim vim.txt &

         以上两类方式,仍然与终端相关;终端终止,将会导致与此终端相关的所有作业被终止

         nohup vim vim.txt&

         剥离进程与终端的关系,关闭终端。进程依然正常运行

 

作业查看

         jobs 查看后台作业

         fg  2  把后台2号作业调回前台

         bg  2  把后台2号作业启动起来,让其后台默默运行;但此作业必须支持运行于后台

         kill %2  终止2号作业,%不能少。

 


大菜鸟祝:更上一层楼。欢迎加入大菜鸟3群:264723618