4. RedHat认证-进程管理

4. RedHat认证-进程管理

1.进程概念

进程就是正在运行中的程序或者命令

每一个进程都是运行的实体,都有自己的地址空间,并占有一定的资源空间

程序消耗的是磁盘资源、进程消耗的是内存和CPU资源

进程会占用四类资源(CPU 、内存、磁盘、网络)

进程至少会占用 CPU、内存

2. 进程管理

进程管理的作⽤

(1)判断服务器健康状态

(2)查看系统中所有进程

(3)“杀死”进程

3.进程查看

ps -aux命令 和 ps -ef 命令

[root@Freedom ~]# ps -aux 
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.4 171640 16060 ?        Ss   20:00   0:02 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31
root           2  0.0  0.0      0     0 ?        S    20:00   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   20:00   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   20:00   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   20:00   0:00 [kworker/0:0H-events_highpri]
root           7  0.0  0.0      0     0 ?        I    20:00   0:00 [kworker/0:1-events]
root           9  0.0  0.0      0     0 ?        I<   20:00   0:00 [mm_percpu_wq]
root          10  0.0  0.0      0     0 ?        S    20:00   0:00 [rcu_tasks_kthre]
root          11  0.0  0.0      0     0 ?        S    20:00   0:00 [rcu_tasks_rude_]
root          12  0.0  0.0      0     0 ?        S    20:00   0:00 [rcu_tasks_trace]


分析输出结果
①USER:该进程是由哪个⽤户产⽣的
②PID:进程的ID号
③%CPU:该进程占⽤CPU资源的百分⽐,占⽤越⾼,进程越耗费资源
④%MEM:该进程占⽤物理内存的百分⽐,占⽤越⾼,进程越耗费资源
⑤VSZ:该进程占⽤虚拟内存的⼤⼩,单位KB
⑥RSS:该进程占⽤实际物理内存的⼤⼩,单位KB
⑦TTY:该进程是在哪个终端中运⾏的。其中TTY1-TTY6代表本地控制台终端。TTY2-6是本地的字符界⾯终端,
TTY1是图形终端。PTS/0-255代表虚拟终端。如果是“?”,则表示该进程是由内核直接产⽣,⽽不是任何的终端产⽣。
⑧STAT:进程状态。常⻅的状态有R:运⾏、S:睡眠、T:停⽌、s:包含⼦进程、+:位于后台
⑨START:该进程的启动时间
⑩TIME:该进程占⽤CPU的运算时间,注意不是系统时间
⑪COMMAND:产⽣此进程的命令名
[root@rhel7-0 ~]# ps –le或 ps -ef
①-l表示显示更详细的信息
②-e表示显示所有的进程

top 命令 (动态的查看进程信息)

#动态查看系统进程
top 命令
[root@rhel7-0 ~]# top [选项]
-d表示秒数,指定top命令每隔⼏秒更新,默认是3秒

在top命令的交互模式当中可以执⾏的命令:
1.? 或h:显示交互模式的帮助
2.P:以CPU使⽤率排序,默认就是此项
3.M:以内存的使⽤率排序
4.N:以PID排序
5.q:退出top

top命令显示的信息详解

在这里插入图片描述

  • 第⼀⾏是任务队列信息

21:07:34 : 系统当前时间

up 1:06 : 系统运行的时间,运行了多久

2 users:系统当前登录的用户数量

load average : 0.00 ,0.00 ,0.00 : 系统在之前1分钟,5分钟,15分钟的平 均负载值。⼀般认为⼩于1时负载较⼩。 如果⼤于1,系 统已经超出负荷

  • 第⼆⾏是进程信息

Tasks: 316 total 系统中的进程总数

1 running : 运行的进程数

315 sleeping : 睡眠的进程数量

0 stopped : 停止的进程数量

0 zombie : 僵尸进程 (一般一两个僵尸进程是属于正常情况,不必过于担心)

  • 第三⾏是 cpu 信息

0.1%us ⽤户模式占⽤的CPU百分⽐

0.1%sy 系统模式占⽤的CPU百分⽐

0.0%ni 改变过优先级的⽤户进程占⽤的CPU百分⽐

99.8%id 空闲CPU的CPU百分⽐

0.0%wa 等待输⼊/输出的进程的占⽤CPU百分⽐

0.0%hi 硬件中断请求服务占⽤的CPU百分⽐

0.0%si 软中断请求服务占⽤的CPU百分⽐

0.0%st st(steal time)虚拟时间百分⽐。就是当有虚拟机时,虚拟CPU等待时机CPU的时间 百分⽐

  • 第四⾏是物理内存信息

3696.9 total 物理内存的总量,单位KB

1844 free 空闲的物理内存数量

1200.6经使⽤的物理内存数量

652.6 作为缓冲的内存数量

  • 第五⾏是交换分区(swap)信息

2048 total 交换分区(虚拟内存)的总大小

2048 free 空闲交换分区的大小

0 used 已经使用的大小

avail 可用的大小

进程树(pstree)

[root@rhel7-0 ~]# pstree [选项]
-p表示显示进程的PID -p可以显示所有的⼦进程,并且显示PID

在这里插入图片描述

在这里插入图片描述

4.终止进程

kill 命令

参数-l,查看所有进程信号

常⽤信号说明

信号代号信号名称说明
1SIGHUP该信号让进程⽴即关闭,然后重新读取配置⽂件之后重启
2SIGINT程序终⽌信号,⽤户终⽌前台进程。相当去输出ctrl+c快捷键
9SIGKILL⽤来⽴即结束程序的运⾏,本信号不能被阻塞、忽略。⼀般 ⽤于强制终⽌进程
15SIGTERM正在结束进程的信号,kill命令的默认信号。有时如果进程已 经发⽣问题,这个信号是⽆法正常终⽌进程的,我们这时才 会尝试SIGKILL信号,也就是信号9
18SIGCONT该信号可以让暂停的进程恢复执⾏,本信号不能被阻断
19SIGSTOP该信号可以暂停前台进程,相当于输⼊ctrl+z快捷键。本信号 不能被阻断
[root@circle ~]# kill -9 32425    # 强制终⽌PID为32425的进程
[root@circle ~]# kill -1 32411    # 重启PID为32411的进程
[root@circle ~]# kill -15 32452   #相当于 kill 32452,正常结束PID为32452的进程

killall 命令

使⽤killall命令终⽌进程

[root@circle ~]# killall [选项] [信号] 进程名      # 按照进程名杀死进程
①-i参数会询问是否要杀死某个进程
②-I参数会忽略进程名的⼤⼩写

killall用法

killall命令⽤法
[root@circle ~]# pstree -p | grep httpd
 |-httpd(44902)-+-httpd(44903)
 | |-httpd(44904)
 | |-httpd(44905)
 | |-httpd(44906)
 | `-httpd(44907)
[root@circle ~]# killall -9 httpd
[root@circle ~]# pstree -p | grep httpd

pkill命令

⽤pkill命令终⽌进程

[root@circle ~]# pkill [选项] [信号] 进程名    # 按照进程名杀死进程
# -t + 终端号:按照终端号踢出⽤户
[root@circle ~]# pkill -t  pts/1 
[root@circle ~]# pkill -f httpd  # -f 指定进程名字

建议服务还是使⽤正常的systemctl stop xxx.service 来停⽌服务,只有在正常停⽌不⽣效后才建议使⽤kill命令终⽌进程

作业调度(jobs)

后台进程:看不到的就是后台进程
前台进程:所能看到的就是前台进程
如何执行一个后台进程
例如 cat命令
cat & # 加上&,就可以让他运行在后台
jobs 就可以看到后台运行的任务

但,请注意,并不是所有的任务都可以运行在后台,cat就是一个

前后台任务的切换

当前台进程在运行时,按ctrl+z 切换到后台,但是他是stopped的,如果想让他继续运行,就需要kill -18 %1 继续运行
或者bg %1 也可以让他继续在后台运行
fg  %1 让后台进程放在前台运行

服务管理

服务就是进程,进程不一定是服务

服务是具备一定功能的进程,有的进程并不具备服务的功能

Linux里的第一个进程,就是系统所有进程的父进程。
在rhel 6 之前,用的第一个Linux进程是init ,串行启动进程,速度慢
在rhel 7 之后,用的第一个Linux系统进程是systemd 并行启动进程,速度极快
systemd 管理服务操作
systemd 管理的内容不仅仅有service ,service只是当中的一个。它systemd管理的单位是unit 
[root@Freedom ~]# systemctl status NetworkManager.service 
[root@Freedom ~]# systemctl stop NetworkManager.service 
[root@Freedom ~]# systemctl start NetworkManager.service 
[root@Freedom ~]# systemctl restart NetworkManager.service 
[root@Freedom ~]# systemctl enable NetworkManager.service 	# 开机自启动
[root@Freedom ~]# systemctl disable NetworkManager.service  # 取消开机自启动


[root@Freedom ~]# systemctl is-active NetworkManager.service 
active
[root@Freedom ~]# systemctl is-enabled NetworkManager.service #在脚本中很好用
enabled
target 管理
target 就是一个盒子,这个盒子里包含了众多的service而已。
按ctrl+alt+F1~F6 可快速切换到字符界面
[root@Freedom ~]# systemctl isolate graphical.target  # 这个命令可以切换到图形界面
[root@Freedom ~]# systemctl isolate multi-user.target  # 这个命令可以切换到字符界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/596527.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

会声会影电影片头怎么做 会声会影电影质感调色技巧 会声会影视频制作教程 会声会影下载免费中文版

片头通常通过一系列的图像、音乐和文字等元素来引入电影的主题和氛围。通过视觉和音频的呈现方式&#xff0c;给观众留下深刻的第一印象&#xff0c;为电影的故事铺设基础。这篇文章来学习一下会声会影电影片头怎么做&#xff0c;会声会影电影质感调色技巧。 一、会声会影电影…

力扣每日一题-拆炸弹-2024.5.5

力扣题目&#xff1a;拆炸弹 题目链接: 1652.拆炸弹 题目描述 代码思路 根据代码实现分为k等于0和k不等于0的情况。k等于0很容易处理&#xff0c;而k不等于0时&#xff0c;需要使用滑动窗口的方式来解决。先根据小于0或大于0确定一个窗口&#xff0c;然后移动&#xff0c;获…

【数据结构与算法】之五道链表进阶面试题详解!

目录 1、链表的回文结构 2、相交链表 3、随机链表的复制 4、环形链表 5、环形链表&#xff08;||&#xff09; 6、完结散花 个人主页&#xff1a;秋风起&#xff0c;再归来~ 数据结构与算法 个人格言&#xff1a;悟已往之不谏&#xff0c;知…

Llama3-Tutorial之Llama3本地Web Demo部署

Llama3-Tutorial之Llama3本地 Web Demo部署 Llama3-Tutorial之Llama3本地Web Demo部署章节。 参考&#xff1a; https://github.com/SmartFlowAI/Llama3-Tutorial 1. 环境配置 conda create -n llama3 python3.10conda activate llama3conda install pytorch2.1.2 torchvision0…

全球260多个国家的年通货膨胀率数据集(1960-2021年)

01、数据简介 全球年通货膨胀率是指全球范围内&#xff0c;在一年时间内&#xff0c;物价普遍上涨的比率。这种上涨可能是由于货币过度供应、需求过热、成本上升等原因导致的。通货膨胀率是衡量一个国家或地区经济状况和物价水平的重要指标&#xff0c;通常以消费者价格指数&a…

模板初阶篇

本篇目标 泛型编程函数模板类模板 一、泛型编程 下面是实现一个通用的交换函数 void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } v…

使用cloudflare实现访问LLM-API

一直在找调用第三方 LLM-API 的方法&#xff0c;看到有人用 cloudflare 实现&#xff0c;就尝试了一下&#xff0c;果然成功了。 突然发现&#xff0c;cloudflare 的功能真是个好东西&#xff0c;功能远超于本文所述。 1 相关网站 中文官网 - https://www.cloudflare-cn.com/注…

vue3—项目创建

背景 初次学习vue3&#xff0c;需要从项目创建开始。 步骤 打开cmd命令行&#xff0c;进入项目存放目录下&#xff0c;执行创建命令&#xff1a; npm create vuelatest 这一指令将会安装并执行 create-vue&#xff0c;它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 …

通过Samba实现Windows和Linux之间进行共享文件

关于Samba 在嵌入式系统开发应用平台中&#xff0c;我们会常使用比如tftp、nfs和samba等服务器&#xff0c;来进行文件的传输&#xff0c;其中tftp和nfs是在嵌入式Linux开发环境中经常使用的传输工具&#xff0c;而samba则是Linux和Windows之间的文件传输工具。samba是模仿Wind…

第三篇、利用潜空间生成超稳定动画

1、使用temporal-kit&#xff0c;生成拼接的图片 sides填写3&#xff0c;Height Resolution要填写原视频高度 * sides ,这里也就是三倍 因为原视频动作很快&#xff0c;frames per keyframe填写了2 发现在temp1目录的Input目录下生成了 3* 3的拼接图片 2、到图生图界面&#…

【动态规划】路径问题

1.不同路径 不同路径 思路&#xff1a; 状态表示 状态转移方程 class Solution { public:int uniquePaths(int m, int n) {// 创建dp表// 初始化// 填表// 返回值vector<vector<int>> dp(m 1, vector<int>(n 1));dp[0][1] 1;for(int i 1; i < m; i…

认识ansible 了解常用模块

ansible是什么&#xff1f; Ansible是一个基于Python开发的配置管理和应用部署工具&#xff0c;现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点&#xff0c;Pubbet和Saltstack能实现的功能&#xff0c;Ansible基本上都可以实现。是自动化运维工具&#xff0…

好惨啊!科研路上的经验教训…

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验&#xff0c;帮助大家尽早适应研究生生活&#xff0c;尽快了解科研的本质。祝一切顺利&#xff01;—…

知识图谱基础

三元组的定义 定义&#xff1a;在知识图谱中&#xff0c;三元组是由三个元素组成的有序集合&#xff0c;分别是主体&#xff08;subject&#xff09;、谓词&#xff08;predicate&#xff09;和客体&#xff08;object&#xff09;。例如&#xff0c;“苹果是水果”的三元组可…

深入了解C/C++的内存区域划分

&#x1f525;个人主页&#xff1a;北辰水墨 &#x1f525;专栏&#xff1a;C学习仓 本节我们来讲解C/C的内存区域划分&#xff0c;文末会附加一道题目来检验成果&#xff08;有参考答案&#xff09; 一、大体有哪些区域&#xff1f;分别存放什么变量开辟的空间&#xff1f; …

ROS 2边学边练(43)-- 利用GTest写一个基本测试(C++)

前言 在ROS&#xff08;Robot Operating System&#xff09;中&#xff0c;gtest&#xff08;Google Test&#xff09;是一个广泛使用的C测试框架&#xff0c;用于编写和执行单元测试。这些测试可以验证ROS节点、服务和消息等的正确性和性能。 如果我们需要在写的包中添加测试&…

红黑树

一、红黑树用在哪里 HashMap。Linux 进程调度 CFS。Epoll 事件块的管理。Nginx Timer 事件管理。&#xff08;key&#xff0c;value&#xff09;的形式&#xff0c;并且中序遍历是顺序的&#xff0c;红黑树是二叉排序树。 二、红黑树性质 每个节点是红色或者黑色。根节点是黑…

Mybatis进阶3--注解开发

先看&#xff1a; Mybatis进阶1-CSDN博客 Mybatis进阶2-CSDN博客 mybatis注解开发 前置&#xff1a;不需要xxxMapper..xml文件&#xff08;映射文件&#xff09; 在核心配置文件中&#xff1a;<mappers>标签只能使用&#xff1a;<package name"扫描的包&quo…

open-webui+ollama本地部署Llama3

前言 Meta Llama 3 是由 Meta 公司发布的下一代大型语言模型&#xff0c;拥有 80 亿和 700 亿参数两种版本&#xff0c;号称是最强大的开源语言模型。它在多个基准测试中超越了谷歌的 Gemma 7B 和 Mistral 7B Instruct 模型。 安装 1.gpt4all https://github.com/nomic-ai/…

记一次动态规划的采坑之旅, 741摘樱桃 https://leetcode.cn/problems/cherry-pickup/description/

首次看题目时&#xff0c;发现是困难。立马想到了&#xff0c;动态规划。 再看题目&#xff0c; 摘樱桃&#xff0c;还要返回摘两次&#xff0c;求摘最多的樱桃。 大脑第一反应就是&#xff1a; 先使用动态规划&#xff0c;找到 0 0 到 n-1 n-1处走过的最大樱桃&#xff0c; 并…