云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....)

这篇具有很好参考价值的文章主要介绍了云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

云计算基础大课笔记

第四章 进程管理

简介:Linux系统Centos7中程序的相关概念。进程管理工具ps&top的用法。kill控制进程。job控制作业的相关方式。

目标:掌握程序概念 掌握进程管理工具的使用/控制进程的方法

第一节,进程的简介

(1)灵魂三问

01.我是谁? 什么是进程
02.我从哪里来?进程从哪来
03.我要上哪去?进程上哪去

(2)进程三问

01.进程是什么

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

1.已分配内存的地址空间;

2.安全属性,包括所有权凭据和特权;

3.程序代码的一个或多个执行线程;

4.进程状态。

程序:可以利用的运行起来的文件(二进制文件),静态/usr/bin/passwd,/usr/sbin/useradd

进程:运行起来的程序 也是程序运行的过程,动态,有生命周期及运行状态。

02.进程的生命周期

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

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

Centos5/6系统进程:init

Centos7系统进程:systemd

03.进程状态

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

第二节,进程的管理Process

目标:了解进程相关信息 PID PPID 当前进程状态 内存的分配情况 CPU和已经花费的实际时间 用户UID,他决定进程的特权 进程名称

(1)静态查看进程ps

01.静态查看进程ps
01.ps(precess status)
02.类似Windows任务管理器
03.实例 命令:ps aux | grep 所需程序 (也可以不加 | grep 不加直接显示所有的)

那么aux都代表什么呢?

ps a 显示现行终端机下的所有程序

ps u 以用户为主的格式来显示程序状况

ps x 不以终端机来区分

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

04.命令参数

root          53739     0.0      0.0       112676        984         pts/2        S+        19:16           0:00       grep --color=auto network

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

运行进程的用户 进程ID CPU占用率 内存占用率 占用虚拟内存 占用实际内存 进程运行的终端 进程状态 进程的启动时间 进程占用CPU的时间     进程文件,进程名

            Process ID                Virtual Size|Resident Set Size|           STATUS

进程状态的常见参数

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

咱云工程师就靠PID去杀死进程 PID就像给他的标签 我们根据标签去找到相应进程 进程ID(PID)是用来唯一标识系统中的每个进程的一个数字。当一个程序启动并且变成进程时,操作系统会为它分配一个唯一的PID。PID是自动和动态分配的,通常是按顺序来分配的,但是这并不意味着是连续不断的(比如:1 243 674 5346),因为可能会因为已有的PID或者特殊算法来调整分配。当一个进程终止或被杀死(使用kill命令等手段),它的PID会释放回操作系统,并且可以被之后启动的任何进程重用。因此,一个程序被杀死后再次启动,它将会被赋予一个新的、不同的PID。系统一般会尝试使用尚未使用的最小可用PID,但这不是保证的,因为PID的分配还受到PID回收策略和可能的PID限制的影响。总之,不应该依赖于一个程序在每次启动时都被分配相同的PID。

02.进程排序

ps aux --sort user/pid/%cpu/%mem/vsz/rss/tty/stat/start/time/command

ps aux --sort user/pid/%cpu/%mem/vsz/rss/tty/stat/start/time/command | head/tail -X (X的数值代表从头/尾显示X行)

03.进程的父子关系

ps -ef

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

PPID为X时 则X就是PID所代表的程序召唤出来的

04.自定义显示字段

ps axo(operation)  写你想要的列名(user/pid/ppid/%cpu/%mem/vsz/rss/tty/stat/start/time/command)多个时使用逗号隔开

ps axo user,pid,ppid,command

ps axo user,pid,ppid,command | head/tail -X(X的数值代表从头/尾显示X行)

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

(2)动态查看进程top

实时的 默认三秒更新一次(可以调节) 以动态形式查询我们的内容

01.上半部分

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

top - 01:57:01  up 1 day  6:38     5 users    load average: 0.09, 0.11, 0.07

程序名-系统时间      运行时间     登录用户数       CPU负载    1分钟 5分钟 15分钟(代表这三个时间点的CPU使用占比)

Tasks: 188 total   1 running   187 sleeping   0 stopped  0 zombie

总进程数             运行数         睡眠数       停止数     僵死数

%Cpu(s):   0.7 us   2.0 sy   0.0 ni   97.2 id   0.0 wa   0.0 hi   0.2 si   0.0 st

CPU占比      用户    系统     优先级    空闲      等待      硬件     软件    虚拟机

            user    system    nice              wait                soft

                            额外关照的

                           

存储 KiB Mem : 999720 total, 162580 free, 416016 used, 421124 buff/cache

内存 物理内存   总共大小         空闲         已使用       缓存硬盘内容大小

存储 KiB Swap: 2097148 total, 1743132 free, 354016 used. 374368 avail Mem

储存 交换分区   总共大小         空闲          已使用       下次可用的空间

02.下半部分

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

  1. PID:进程ID(Process Identifier),是用来唯一标示一个进程的数字。
  2. USER:启动该进程的用户的用户名。
  3. PR:优先级(Priority)。
  4. NI:nice值,影响进程的调度优先级。
  5. VIRT:虚拟内存使用量,即进程占用的虚拟内存总量(包括所有代码、数据以及分配但未使用的内存)。
  6. RES:常驻(真实)内存大小(Resident Size),该进程占用的实际物理内存大小,不包含交换出去的内存部分。
  7. SHR:共享内存大小(Shared Memory),指进程使用的可共享的内存的大小。
  8. S:进程的状态。常见状态有:S(睡眠中),R(运行中),Z(僵尸进程)等。
  9. %CPU:自从上一次更新以来,该进程占用的CPU使用比例。
  10. %MEM:进程当前占用的物理内存和总物理内存的百分比。
  11. TIME+:CPU总计时间,即自进程启动开始至今,CPU使用的总时间。
  12. COMMAND:启动进程的命令名称或命令行。
03.top技巧(直接在呼出的top程序直接按键使用)

h|?帮助

M 按内存的使用排序

P 按CPU使用排序

N 以PID的大小排序

<向前

>向后

z彩色,Z设置彩色,使用数字调整

动态查看进程top,像windows的任务管理器

[root@qianfeng ~]# top

[root@qianfeng ~]# top-d 1 //每1秒刷新。

//回车,立刻刷新。按z彩色显示,按F,通过光标设置列的顺序

[root@qianfeng ~]# top-d 1-p 10126 查看指定进程的动态信息

[root@qianfeng ~]# top-d1 -p 10126,1 查看10126和1号进程(用逗号隔开)

(3)使用信号控制进程kill

信号就是下达的命令

01.信号种类

给进程发送信号(kill-l列出所有支持的信号)

kill -l

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

编号 信号名

1) SIGHUP 重新加载配置

2) SIGINT 键盘中断Ctrl+C

3) SIGQUTT键盘退出Ctrl+\,类似SIGINT

9) SIGKILL 强制终止,无条件 适用于进程卡死 但是尽量少用 多用15

15) SIGTERM 终止(正常结束),缺省信号

18) SIGCONT 继续

19) SIGSTOP 暂停

20)SIGTSTP 键盘暂停Ctrl+Z

实例-使用18 19 可以继续/暂停程序

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

02.信号9,15 实例

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

01.创建文件file1 file2

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

02.vim file1 file2 不退出

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

03.kill -15 file1的进程

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

04.kill -9 file2的进程

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

(4)进程优先级nice

简介:Linux 进程调度及多任务 每个CPU在一个时间点上只能处理一个进程,通过时间片技术,来同时运行多个程序

01.优先级范围和特性
01.越小优先级越高(可以为负数)

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

02.系统中的两种优先级

PR优先级:系统内置的优先级 范围-99到39 PR值=Nice值+20

02.查看进程的nice(优先级)级别

ps axo pid,command,nice --sort=-nice

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

03.启动具有不同nice级别的进程

使用何种优先级启动:

在默认情况下 通常会继承父进程的nice级别,默认为0

nice -n -5 sleep 6000& (-n:number -5:数字 范围为-20到19 &代表后台运行)

04.更改现有进程的nice级别

修改nice值

renice -X 进程ID (-X的数值代表优先级大小 范围为-20到19)

第三节,作业控制Jobs(了解)

简介:作业控制通常是解决一种特性(后台运行)是一个命令行功能 关键词介绍:foreground(fg 前台运行) background (bg 后台运行)

(1)后台程序控制示例

01.观察占领前台的现象

运行一个程序 当前终端无法输入命令 大部分命令行的输入已经无效

ctrl+c 中止进程

02.运行后台程序 (运行后加 &
03.ps查询所有程序
04.jobs查看后台程序

jobs

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

05.调动后台程序至前台

fg 1 (将作业1调至前台 1可以是jobs最前面id的任何值)

Ctrl+z
06.消灭后台程序

kill %X (X的值为jobs的最前面的id)

(2)总结

01. & 后台运行程序
02.jobs 查询后台
03.kill %1 停止后台程序

第四节,虚拟文件系统Proc目录(了解)

简介:Proc(process)进程目录 虚拟文件系统 采集服务器自身 内核信息 硬件信息

[root@cxk ~]# cat /proc/XXXX

(1)CPU

/proc/cpuinfo

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

(2)内存

/proc/meminfo

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

(3)内核

/proc/cmdline

云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....),Linux,云计算,linux,unix

第四章总结:

本章涉及Linux进程管理的基础概念及实际操作技能。了解进程是操作系统中已启动程序的实例,具体学习了进程的生命周期、如何查看和管理进程,使用pstop命令来查看静态和动态进程信息,使用kill发送信号控制进程,以及作业控制和/proc目录的基本用法。重点内容如下:

  1. 进程是操作系统分配资源和调度运行的基本单位。
  2. 进程具有唯一的进程ID(PID),由父进程创建,可以有多个状态。
  3. ps和top命令用于查看系统中的进程及其属性。
  4. kill命令用来向进程发送信号以控制进程行为。
  5. nice和renice命令用于调整进程优先级。
  6. jobs、fgbg命令用于控制后台作业。
  7. /proc目录提供了一个接口来访问内核系统和进程信息。

课后思考:

如何区分进程和线程?

进程是系统进行资源分配和调度的独立单位,拥有独立的地址空间,而线程是进程的实际运作单位,是CPU调度的最小单位,线程共享它们所属进程的资源。

如何确定哪个进程占用了大量系统资源?

可以使用tophtop命令来观察系统资源的实时占用情况,通过排序功能找出CPU或内存占用最高的进程。

使用kill发送什么信号能够优雅地终止进程?

使用kill发送SIGTERM(信号15)通常可以优雅地终止进程,让进程有机会进行清理和保存状态后再关闭。

为何运行进程的优先级会影响系统性能?

运行进程的优先级会影响系统性能,因为高优先级的进程会更频繁地获得CPU时间,从而可能导致低优先级进程饿死或响应速度慢。正确设置优先级可以确保关键任务得到足够的CPU时间,同时使得系统的资源分配更加高效。文章来源地址https://www.toymoban.com/news/detail-823237.html

到了这里,关于云计算工程师系列 Day04 第四章 进程管理(超详细 持续更新中....)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小白到运维工程师自学之路 第四十四集 (mariadb高可用集群故障转移)

            故障转移是指在集群中某个节点发生故障时,自动将服务转移到其他正常节点上的 过程。在MariaDB高可用集群中,通常使用主从复制的方式来实现故障转移。其中一个 节点被指定为主节点,负责处理所有的写操作和部分读操作,其他节点作为从节点,负 责复制主

    2024年02月11日
    浏览(29)
  • 小白到运维工程师自学之路 第四十九集 (正则表达式之grep)

    1、正则表达式(Regular Expression,简称为RegExp或Regex)是一种用于描述、匹配和操作文本的字符串模式的表达式。它提供了一种强大而灵活的方式来进行字符串的搜索、替换、提取和验证操作。 2、正则表达式可以用于各种编程语言和应用程序中,包括文本编辑器、命令行工具

    2024年02月13日
    浏览(34)
  • 每日一练 | 网络工程师软考真题Day41

    1、包过滤防火墙对通过防火墙的数据包进行检查,只有满足条件的数据包才能通过,对数据包的检查内容一般不包括   。 A.源地址 B.目的地址 C.协议 D.有效载荷 2、下面关于ARP木马的描述中,错误的选项是   。 A.ARP木马利用ARP协议漏洞实施破坏 B.ARP木马发作时可导

    2024年02月07日
    浏览(26)
  • 每日一练 | 网络工程师软考真题 Day2

    1、某工程制定的开发方案中定义了3个任务,其中任务A首先开始,且需要3周完成,任务周完B必须在任务A启动1周后开始,且需要2周完成,任务C必须在任务A后才能开始,且需要完成2周完成。该工程的进度安排可用下面的甘特图         来描述。  A. B.   C.   D.     2、以下表

    2024年02月05日
    浏览(35)
  • 机器人应用工程师的入职思考day3

    [1]学习高级弧焊内容,了解机器人在导轨与变位机等设备的配合下进行弧焊的方式 [2]了解专家焊内容,学会如何用两个机器人进行同步焊接 [3]场景应用 1、高级弧焊的运动学相关操作 2、两个或多个机器人之间进行同步焊接的方法 3、之前的疑惑点答疑 周二 2024/4/2 上午9:3

    2024年04月28日
    浏览(28)
  • 【运维工程师学习】ubuntu20.04安装并配置SSH

    https://next.itellyou.cn/Original/#cbp=Product?ID=deb4715d-5e52-ea11-bd34-b025aa28351d 添加下载的镜像文件 设置用户信息 设置磁盘大小 检查硬盘可以Ctrl+c跳过 开始安装 再次查看本地ssh版本 验证是否开机自动启动 这里使用Xshell连接 输入ubuntu的账号和密码 链接成功

    2024年01月17日
    浏览(45)
  • 计算机视觉工程师学习路线

    学习Python语言,掌握基础语法、函数、面向对象编程等概念 学习Numpy库,用于科学计算和多维数组 学习OpenCV库,包含了许多图像处理和计算机视觉算法 学习TensorFlow/PyTorch,主要的深度学习框架 图像的表示方式(像素、灰度、二值化等) 彩色空间转换(RGB、HSV等) 滤波操作(均值滤波、

    2024年02月10日
    浏览(28)
  • 云计算工程师个人简历(精选篇)

    对于这样一群云计算工程师精英而言,如何将自己的专业技能与丰富经验准确地呈现在简历上,就显得尤为重要。以下是小编精选的云计算工程师个人简历参考,同时,幻主简历网还提供精美简历模板以及简历在线制作工具,欢迎大家阅读收藏。 幻主简历huanzhucv.com案例: 求

    2024年04月25日
    浏览(30)
  • 【阿里云云计算工程师 ACP 认证】01、弹性计算 ECS

    目录 一、什么是 ECS 1.1 什么是弹性计算 ECS 1.2 弹性计算 ECS 的定位 1.2.1 弹性的伸缩能力 1.2.2 计算的基础运行环境 二、ECS 的基本概念 2.1 ECS 相关概念、地域与可用区 2.2 实例规格 2.2.1 在官网上创建之后会有各种各样的规格集,规格集的命名规则是怎样的? 2.2.2 上图有两大块

    2024年02月15日
    浏览(45)
  • ACP云计算工程师考试知识点

    ECS 安全组 伸缩组 SLB VPC OSS RDS CDN DNS DTS 云安全 云监控 一、ECS实例 ECS组件:在ECS中,是由CPU、内存、磁盘(ECS中没有硬盘概念)、网络配置、操作系统构成 ECS使用限制:①不支持安装虚拟化软件和二次虚拟化;②不支持声卡应用;③不支持直接加载外接硬件设备 ECS状态:分

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包