【Linux基础之进程管理】

Linux基础之进程管理

🌎上一节我们介绍了Linux基础之用户管理,这一部分我们就正式进入了下一个专题——进程管理,在这一小节我们将对进程管理进行一个具体的介绍,以及对进程的操作,作业控制,虚拟文件系统proc

🏠哈喽大家好,这里是YZWLXX,一名某高校大二本科在读的♂同学,希望以后在云计算大数据领域能够有所成就,很荣幸能够在CSDN结识众多志同道合和在各方面都有所造诣的小伙伴,我们一起加油吧~💖
🌷当然,觉得我写的好的小伙伴可以动动小手点点关注支持一下博主~💖
🚀上节内容:用户的权限之基本权限UGO,ACL与特殊权限

进程管理

一.进程管理

1.什么是进程

进程是已经启动的可执行程序的运行实例,进程有以下组成部分:

·一个文件;

·被配内存的地址空间;

·有权限限制;

·程序代码的一个或多个副本(也叫执行线程);

·像人一样拥有状态

2.程序变成进程以后拥有哪些资源

·内存资源

·CPU资源

·网络资源

·PID(进程号)

3.进程的生命周期

父进程(PPID)赋值自己的地址空间(fork)创建一个新的(子)进程结构。每个新进程分配一个,唯一的进程ID(PID),满足跟踪安全性之需。任何进程都可以创建子进程,所有进程都是第一个系统进程的后代。

R-running(运行)S-sleeping(休眠)Z-zombie(卡死)T-stop(暂停)

4.静态查看进程ps

#显示现行终端机下的所有程序
ps a   
#以用户为主的格式来显示程序状况
ps u  
#不以终端机来区分
ps x    
#查看全部进程
ps aux 

在这里插入图片描述

#查看进程前两行
ps aux | head -2

在这里插入图片描述

输出字段含义

USER:运行进程的用户

PID:进程ID(不可能重复)

%CPU:CPU占用率

%MEM:内存占用率

VSZ:占用虚拟内存

RSS:占用实际内存

TTY:进程运行的终端(?表示本机登录;pts表示其他)

STAT:进程状态

START:进程的启动时间

TIME:进程占用CPU的总时间

COMMAND:进程文件,进程名

5.进程排序

#以CPU占用率进行排序(升序)
ps aux --sort %CPU    
#以CPU占用率进行排序(降序)
ps aux --sort -%CPU    

在这里插入图片描述

6.进程的父子关系

#语法:查看进程的父子关系,观察PID和PPID(父进程)
ps -ef

在这里插入图片描述

语法:ps axo 属性名
#例:只显示user,pid,ppid,并且显示前三行
ps axo user,pid,ppid | head -3

在这里插入图片描述

7.动态查看进程top

#语法
top
#退出
q

在这里插入图片描述

上半部分(了解)

第一行:top - 00:19:56 up 9:33, 2 users, load average: 0.13, 0.24, 0.23

top(程序名) 00:19:56 (系统时间) 9:33(运行时间) 2 users(登录用户数) load average(CPU负载 )

第二行:Tasks: 207 total, 5 running, 201 sleeping, 0 stopped, 1 zombie

Tasks: 207 total,(总进程数)5 running,(运行数) 201 sleeping, (睡眠数) 0 stopped, (停止数) 1 zombie (僵死数)

第三行:%Cpu(s): 22.2 us, 5.4 sy, 0.0 ni, 71.7 id, 0.0 wa, 0.0 hi, 0.7 si, 0.0 st

%Cpu(s): (CPU使用占比)us(us用户) sy(sy系统) ni(优先级) id(空闲) wa(等待) hi(硬件) si(软件) st(虚拟机)

第四行:KiB Mem : 995676 total, 74032 free, 608116 used, 313528 buff/cache

KiB Mem(物理存储)995676 total(所占内存) 74032 free(空闲)608116 used(使用的) 313528 buff/cache(缓存硬盘内容)

第五行:KiB Swap: 2097148 total, 1868796 free, 228352 used. 133492 avail Mem

KiB Swap(交换区总量),剩下的都是空闲的,使用过的和缓存的交换区总量

补充:top常用内部指令

h      #帮助
M      #按内存的使用排序
P      #按CPU使用排序
N      #以PID大小排序
<      #向前
>      #向后
z      #彩色
Z      #设置彩色,使用数字调整

top小技巧

top -d 1     #每一秒刷新一次
top -d 1 -p 10126    #查看指定进程的动态信息
top -d 1 -p 10126,12543    #查看指定进程的动态信息(多个进程)

8.使用信号控制进程

1)信号种类

#列出所有支持的信号
[yzw@localhost ~]$ kill -l
#使用信号(通过数字选择使用信号种类)
kill -数字

在这里插入图片描述

常用信号

1)SIGHUP 重新加载配置

2)键盘中断Ctrl+C(使用Ctrl+C退出进程)

3 SIGQUITCtrl+(使用Ctrl+\退出进程)

9)SIGKILL 强制终止,无条件

15)SIGTERM 正常关闭

9.进程优先级nice

nice值越大代表优先级越低,nice值越小代表优先级越高,范围为(-20~19)

1)启动时具有不同的nice级别的进程

默认情况:启动进程时,通常会继承其父进程的nice级别,默认为0

#设置该进程优先级为-5,且休眠7000秒,并且放在后台运行(&)
nice -n -5 sleep 7000 &

在这里插入图片描述

2)更改已有的进程优先级

#语法结构
renice nice值 PID
#例如:把1111这个进程的优先级设为-20
renice -20 1111

2.作业控制

1)简介

作业控制是一个命令行功能,也叫后台运行

关键词介绍

foreground(前台进程):是在终端中运行的命令,占领终端

background(后台进程):没有控制终端,它不需要终端的交互,看不见,但是在运行的时候会存在

2)jobs查看后台进程

jobs

在这里插入图片描述

3)把一个程序调回前台

fg PID
#例如,将1111进程调回前台
fg 1111

4)将一个程序调回后台

bg PID
#例如,将1111进程调回后台
bg 1111

5)杀死进程

#杀死该后台进程
kill %进程号
#若没有%,则代表杀死该进程,不是后台进程

3.虚拟文件系统proc

1)简介

采集服务器自身内核,进程运行的状态信息

2)CPU

#查看cpu信息
cat /proc/cpuinfo

在这里插入图片描述

3)内存

#查看内存信息
cat /proc/meminfo

在这里插入图片描述

4)内核

#查看内核信息
cat /proc/cmdline
#查看内核文件
ls /boot

在这里插入图片描述

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 30
    评论
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YZWCJJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值