进程管理-1

一. 进程介绍

程序:存放代码的文件=>静态

进程:程序的运行过程=>动态

同一个程序可能对应多个进程,父进程:程序运行时产生的第一个进程. 子进程:由父进程衍生的进程. 注意:如果父进程终止,子进程也会随之被终止.

ps aux |grep nginx 查看nginx进程

  

进程状态切换

   

二. 查看进程

ps aux 是常用组合,查看进程用户,pid,占用cpu百分比,占用内存百分比,状态,执行的命令等.

-a 显示一个终端的所有进程

-u 选择有效的用户id或者用户名

-x 显示没有控制终端的进程,同时显示各个命令的具体路径.

 Linux下的进程状态

ps aux查看进程结果显示

  

查看进程树

yum install -y psmisc-22.20-16.el7.x86_64#安装

pstree pid号

查看ppid 

ps -elf 
ps -elf |grep [v]im

查看进程的pid

pgrep 
-a:查看进程的运行命令
-l:查看进程名字
-u:指定用户
[root@oldboyedu ~]# pgrep sshd
119346
120226
120254
[root@oldboyedu ~]# pgrep -l sshd
119346 sshd
120226 sshd
120254 sshd
[root@oldboyedu ~]# pgrep -l -a sshd
119346 /usr/sbin/sshd -D
120226 sshd: root@pts/0
120254 sshd: root@pts/1
 

动态查看top(默认3秒刷新一次)

1.top命令使用:

-d:指定刷新时间
-p:指定pid
-u:指定用户
-b:保存到文件中
-n:指定次数

top -d 1 1秒刷新一次

top -d 1 -p 进程的pid号 查看指定某个进程

top -d 1 -u 用户名 查看指定用户的进程

top -b -n 2 > top.txt 将2次的top信息写入文件
 
2.显示信息解释
第一行:
up 左边代表系统当前时间
右边表示服务器运行了多长时间
users #当前用户登录数
load average: 0.86, 0.56, 0.78  #CPU1分钟,5分钟,15分钟的平均负载
ps:
平均负载是指,单位时间内,系统处于可运行状态和不可中断状态的平均进程数.
第二行:
Tasks:  93 total #总共多少个进程
2 running #正在运行的进程数
90 sleeping #睡眠状态的进程数
0 stopped #停止的进程数
0 zombie #僵尸进程数
 
第三行:
us #用户态进程占用cpu的百分比
sys #内核态进程占用cpu的百分比
ni  #表示优先被调度的进程占用cpu的百分比
id  #cpu空闲的百分比
wa #cpu等待IO的百分比
hi #硬中断,处理硬件中断所占用CPU百分比
si #软中断,处理软件中断所占用CPU百分比
st #被偷走的cpu(虚拟机占用物理机CPU的百分比)
中断:
中断是系统用来影响硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来影响设备的请求.
事实上,为了解决中断处理程序执行过长的和丢失中断的问题,Linux将中断处理过程分成了两个阶段:
第一阶段:用来快速处理(硬中断)中断,它在中断禁止模式下运行,主要处理跟硬件紧密相关工作
第二阶段:用来延迟处理第一阶段未完成的工作,通常以内核线程的方式运行
 
第四行:内存
KiB Mem : 2028116 total, 150780 free, 144108 used, 1733228 buff/cache
 
第五行:swap虚拟内存
KiB Swap: 2097148 total, 2097148 free, 0 used. 1645080 avail Mem
 
第六行:
PID(进程号) USER(用户)      PR  NI(进程优先级,nice值越低,表示优先级越高)    VIRT(虚拟内存)   RES(常驻内存)    SHR(共享内存) 
ps:

3. 使用快捷键对进程的显示方式进行控制.

M 按照内存占用率从大到小排序
P 按照cpu占用率从大到小排序
N 按照PID从大到小排序

配合R代表倒序

f 自定义显示字段

1 显示所有CPU的负载

s 改变画面更新频率

b 正在运行的进程高亮显示

z 彩色

shift + >    移动排序字段
shift + <    移动排序字段

k+pid号 杀掉进程

4. 优先级设置

nice值  -20~19   越小优先级越高  普通用户0-19

nice -n -20 命令名

renice 修改正在运行的进程优先级

renice -n 5 PID  # 修改进程优先级

5.kill给进程发送信号

kill -l 列出所有的信号

-1(hup):重新加载配置文件
-2(int):中断,用于通知前台进程终止进程,等同于ctrl + c
-3(quit):退出
-9(kill):强制终止
-15(term):默认信号,进程终止.与-9不同的是该信号可以被阻塞和处理,通常用来要求进程自己正常退出,如果进程终止不了,在使用-9.
-18:重新唤起被暂停的进程
-19:暂停进程
-20:把进程放到后台并暂停
根据进程名杀所有
killall -9 进程名
pkill -9 进程名
 
 

原文地址:https://www.cnblogs.com/allenzhu128/p/13920455.html