Linux操作系统概述3——进程相关操作讲解(进程概念、xinetd守护进程、进程管理命令)

目录

进程的概念 

程序与进程的关系

进程的分类

守护进程的分类

进程的PID

进程的状态

xinetd 守护进程服务

xinetd基本概念

xinetd工作原理

xinetd相关文件介绍

守护进程的管理命令

chkconfig 命令

service 命令

systemctl命令

查看进程状态相关命令


一般程序处理的过程

应用程序的执行文件存储在硬盘中,在用户执行程序文件时通过shell将其调用到硬件的内存中去,然后由内存交给CPU进行处理;CPU处理完成后将结果返回到内存,内存再通过shell输出给用户的输出设备

通过以上流程,我们就可以看到程序运行的结果

Linux操作系统概述1——操作系统、Shell、Kernal内核讲解-CSDN博客

Linux操作系统概述2——CentOS6/Redhat6版本的启动流程描述-CSDN博客


进程的概念 

程序与进程的关系

什么是进程

从用户层面:进程就是运行中的程序(程序运行起来被加载到内存中)

从操作系统层面:进程就是操作系统为了更好的管理程序,对运行中的程序进行信息描述

程序与进程的关系

程序就是存储在硬盘中的可执行文件;进程是由程序调用到内存中产生的

程序是静态的;进程是动态的

程序是永久的,进程是短暂的

进程有PCB(进程描述符),操作系统对进程管理就是通过进程描述符PCB进行管理的

程序崩溃时可以通过杀死进程停止程序运行,然后再重启程序来解决崩溃现象;killall可以直接将父进程、子进程杀死

进程的分类

按照进程的功能与服务对象分类

用户进程:通过用户执行程序或者内核之外的系统程序产生的进程;此类进程可以在用户的控制下运行或关闭

系统进程:通过执行系统内核程序而产生的进程(例如 执行内存资源扥配等相对底层的工作);该进程不受用户的干预,即使是root用户也无法干预

按照应用程序的服务类型分类

交互进程

交互进程需要与用户进行交互,等待用户输入相应信息才能够响应该进程(例如ctrl+c)

交互进程可运行于前台,也可以运行于后台

批处理进程

不需要用户干预而按预定顺序执行的进程;通常以脚本或命令文件的形式存在(包含了待执行的一系列任务或操作)

可以理解为shell脚本(shell脚本有多条命令,每条命令都有相应的交互进程,将这些进程打包,按顺序启用交互进程,就称为批处理进程)

守护进程(Daemon进程)——守护进程的名称通常以d结尾

守护进程是在后台运行的特殊进程,是一个生存期较长的进程;通常独立于控制终端,并且周期性的执行某种任务或者等待处理某些发生的事情

大部分守护进程在Linux系统启动时自己启动,并持续运行以提供某种服务(可以通过systemctl设置守护进程是否开机自启动),在系统关闭时就关闭该程序;某些守护进程可以在需要的时候手动启动(由周期性任务crond启动,也可以由用户终端通过systemctl启动进程)

Linux 计划任务讲解(一次性计划、周/长期性计划)_linux计划任务时间格式_-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_49864110/article/details/129191135?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129191135%22%2C%22source%22%3A%22m0_49864110%22%7DLinux的大多数网络服务以及系统监控都是通过守护进程实现的(例如:httpd-http的守护进程、sshd-ssh的守护进程、xinetd-telnet等服务的服务进程)

守护进程的分类

Sysv——独立启动的守护进程

该守护进程由init脚本负责管理,一开机就会进入内存,一直处于listen状态

即使该守护进程不运行也会一直占用系统资源,一直启动,响应速度快

所有独立运行的守护进程的脚本都在/etc/rc.d/init.d目录下

系统服务都是独立启动的守护进程

例如 http的守护进程httpd就是独立启动的守护进程

Xinetd——超级守护进程

通过该守护进程来管理众多进程;但是xinetd自身是一个独立启动的守护进程,常驻内存

通过xinetd管理的进程在没有使用时会睡眠,不占用系统资源,节约资源,但是响应时间长

Xinetd超级守护进程的配置文件是/etc/xinetd.conf,超级守护进程的子进程存放在/etc/xinetd.d目录下

例如 telnet服务的守护进程就是xinetd

进程的PID

PID(process ID)

一个PID只标识一个进程

PID是程序被操作系统加载到内存成为进城后动态分配的资源

每次程序执行时操作系统都会重新加载PID

PPID(parent process ID)

PPID表示某个进程的父进程号;因为有些进程不是直接由程序产生的,而是由进程产生的子进程

所有进程追溯到最终都会落到进程号为1的进程身上,也就是初始化进程;初始化进程是linux内核启动后第一个执行的进程,引导系统来启动守护进程并运行必要的程序;RHEL 4、5、6初始化进程为init;RHEL7、8初始化进程为systemd

进程的状态

系统的进程状态(5个常用模式)

R状态(Running)    运行状态,此进程正在为用户提供服务

S状态(Sleeping)    休眠状态,此进程没有为用户提供服务,正在等待为用户提供服务,不会消耗系统资源

D状态(unstopped)不可中断状态,此进程无法被中断-异常,有可能为用户提供服务,也有可能没有为用户提供服务,都会消耗系统资源(类似于windows的异常响应状态),即使使用kill命令也无法将其中断

Z状态(zombie)      僵死状态,此进程已经终止,没有为用户提供服务,但是进程描述符依然存在,会消耗系统资源,可以在父进程下调用wait4()系统函数后将进程释放

T状态(stopped)     停止状态,此进程停止运行,不会为用户提供服务,也不会消耗系统资源

五个不常用的进程状态

 <状态             高优先级状态

 N状态           低优先级状态

 L状态            被锁进内存状态

 s状态            包含子进程状态

 I(大写i)状态      多线程状态


xinetd 守护进程服务

xinetd基本概念

xinetd全称为扩展互联网服务守护进程,是新一代的网络是守护进程,常常用来管理并保护多种轻量级的Internet服务,管理服务的同时保证这些服务的安全

系统默认哪些服务会使用xinetd作为守护进程

具体可以使用xinetd的服务再/etc/service文件中指出

标准的Internet服务:telnet、ftp

邮件服务:imap、pop3等

内部服务:echo、servers、services、time等

RPC服务:rstatd、walld、rquotad等(xinetd对RPC的支持不稳定,可以通过启用protmap与xinetd共存来解决此问题)

xinetd工作原理

以Telnet服务为例子

telnet客户端访问23端口,将telnet请求提交给Xinetd守护进程

然后Xinetd守护进程激活对应的服务,并将其载入内存

最后Xinetd守护进程提供连接使得telnet客户端能够访问该服务

针对提供的连接,xinetd有两种方式

单线程single-threaded      为所有允许的访问者建立一个连接提供服务

多线程multi-threaded       为每一个允许的访问者建立一个连接提供服务

xinetd相关文件介绍

相关文件路径

/etc/xinetd.conf    该文件为xinetd服务的主配置文件

/etc/xinetd.d         该目录下存放着被托管的服务的目录(可以理解为主配置文件的补充)

主配置文件字段介绍

主配置文件由多个服务块组成,每个服务块的形式如下(也可以把服务块放在/etc/xinetd.d目录下的的不同文件中);服务块的格式如下

service 服务名称

{

       服务相关配置

}

此处主配置文件配置了服务缺省的配置-也就是缺省的服务块(具体针对每个服务的配置也就是针对具体服务的服务块存放在/etc/xinetd.d目录下)

/etc/xinetd.d目录下文件介绍

不同文件表示不同的服务


守护进程的管理命令

chkconfig 命令

针对Redhat 6之前或CentOS6之前的系统

通过chkconfig命令能够了解哪些服务在系统启动时自动启动,在特定的运行级别下启用或禁用的服务(修改的是/etc/rc[0-6].d文件夹中的内容)

主要用来管理服务的自启动和停止,允许用户设置在系统启动时自动运行的服务,并能够指定该服务的启动级别

相关命令

chkconfig --add 守护进程         配置该守护进程自启动

chkconfig --del  守护进程        停止该守护进程的自启动

chkconfig --level [0-6] 守护进程      在该运行级别加入该守护进程

chkconfig --list                          列出已配置的服务以及它们在各个系统级别下的启用状态

service 命令

service基础概念

针对Redhat 6之前或CentOS6之前的系统

service的工作原理是去/etc/init.d目录下去执行相关程序,用service命令对系统服务进程管理

相关命令

service 守护进程 start        启动该守护进程

service 守护进程 sop         停止该守护进程

service 守护进程 restart     重启该守护进程(PID会变)

service 守护进程 reload     重新加载配置该守护进程(PID不会变)

service 守护进程 status     查看该守护进程的状态

service 守护进程 start        启动该守护进程

systemctl命令

systemctl命令是一个systemd工具,主要负责控制systemd系统和服务进程的管理工具

整合了chkconfig与service功能于一体,既可以事项服务的启动、停止、重启、重新加载配置、查看状态的功能,还可以添加服务为开机启动等功能

相关命令

systemctl start守护进程.service               启动该守护进程

systemctl sop 守护进程.service                 停止该守护进程

systemctl restart守护进程.service            重启该守护进程(PID会变)

systemctl reload守护进程.service            重新加载配置该守护进程(PID不会变)

systemctl status守护进程.service             查看该守护进程的状态

systemctl start守护进程.service               启动该守护进程

systemctl enable守护进程.service            服务开机自启动

systemctl disable守护进程.service           服务开机禁用

systemctl list-units --type service –all       查看所有服务状态的详细信息


查看进程状态相关命令

Linux基础命令2(系统信息、系统时间、系统进程相关命令以及历史命令介绍)_查看进程的命令-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_49864110/article/details/128959932?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128959932%22%2C%22source%22%3A%22m0_49864110%22%7D

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

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

相关文章

lesson2(补充)关于const成员函数

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 前言&#xff1a; 将const 修饰的 “ 成员函数 ” 称之为 const 成员函数 &#xff0c; const 修饰类成员函数&#xff0c;实际修饰该成员函数 隐含的 this 指针 &#xff0c;表明在该成员函数中不能对类的任何成员进行修改…

【C语言】字符函数、字符串函数与内存函数

简单不先于复杂&#xff0c;而是在复杂之后。 目录 0. 前言 1. 函数介绍 1.1 strlen 1.1.1 介绍 1.1.2 strlen 函数模拟实现 1.1.2.1 计数器方法 1.1.2.2 递归方法 1.1.2.3 指针 - 指针方法 1.2 strcpy 1.2.1 介绍 1.2.2 strcpy 函数模拟实现 1.3 strcat 1…

听GPT 讲Rust源代码--library/std(8)

题图来自Why is Rust programming language so popular?[1] File: rust/library/std/src/sys/sgx/abi/reloc.rs 在Rust源代码中&#xff0c;sgx/abi/reloc.rs文件的作用是定义了针对Intel Software Guard Extensions (SGX)的重定位相关结构和函数。 该文件中的Rela 结构定义了…

计算机毕设 基于CNN实现谣言检测 - python 深度学习 机器学习

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍 一个深度学习项目 基于CNN实现谣言检测 1.1 背景 社交媒体的发展在加速信息传播的…

Linux:firewalld防火墙-(实验2)-IP伪装与端口转发(4)

实验环境 本章实验环境要建立在上一章之上&#xff0c;ip等都是继承上一章&#xff0c;完全在上一章之下的操作 Linux&#xff1a;firewalld防火墙-小环境实验&#xff08;3&#xff09;-CSDN博客https://blog.csdn.net/w14768855/article/details/133996151?spm1001.2014.3…

消息队列中间件面试笔记总结RabbitMQ,Kafka,RocketMQ

文章目录 (一) Rabbit MQRabbitMQ 核心概念消息队列的作用Exchange(交换器)Broker&#xff08;消息中间件的服务节点&#xff09;如何保证消息的可靠性如何保证 RabbitMQ 消息的顺序性如何保证 RabbitMQ 高可用的&#xff1f;如何解决消息队列的延时以及过期失效问题消息堆积问…

【JAVA学习笔记】48 - 八大常用Wrapper类(包装类)

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter13/src/com/yinhai/wrapper_ 内的wrapper 一、包装类 1.针对八种基本定义相应的引用类型一包装类 2.有了类的特点&#xff0c;就可以调用类中的方法。 黄色背景的表示父类是Number 二、包装…

一、【海报合成的流程】

文章目录 主体创意草图素材拼图光影调色 主体 首先联想主体相关的关键词 创意 将联想到的关键词&#xff0c;串起来生成创意 草图 结合主体跟创意&#xff0c;我们先绘制一幅草图。草图可以是简单的图形&#xff0c;然后组成大概的结构布局。 素材 根据草图去寻找我们需…

CLIP文章精读

核心&#xff1a; loss的设计&#xff1a;分布针对固定image匹配text和固定text匹配image设计了两个交叉熵loss

水性杨花:揭秘CSS响应式界面设计,让内容灵活自如,犹如水之变幻

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一、是…

Python--练习:报数字(数7)

案例&#xff1a; 一些同学从1开始报数&#xff0c;当需要报出的数字尾数是7或者该数字是7的倍数时&#xff0c;则该同学跳过这个数字&#xff0c;不进行报数。所有同学都参与游戏后&#xff0c;游戏结束。如输入学生数量为50&#xff0c;游戏结束后&#xff0c;报数的同学数量…

【机器学习】sklearn特征值选取与处理

sklearn特征值选取与处理 文章目录 sklearn特征值选取与处理1. 调用数据集与数据集的划分2. 字典特征选取3. 英文文本特征值选取4. 中文特征值选取5. 中文分词文本特征抽取6. TfidfVectorizer特征抽取7. 归一化处理8. 标准化处理9. 过滤低方差特征10. 主成分分析11. 案例&#…

基于Android 10系统的ROC-RK3399-PC Pro源码编译

基于Android 10系统的ROC-RK3399-PC Pro源码编译 一、开发环境搭建二、下载Android 10 SDK三、编译Android 10 SDK ROC-RK3399-PC Pro资料下载处&#xff1a;https://www.t-firefly.com/doc/download/145.html一、开发环境搭建 Android 10 SDK的编译对PC机的要求不低&#xff…

软考系列(系统架构师)- 2012年系统架构师软考案例分析考点

试题一 软件架构&#xff08;架构风格对比、架构风格选取、架构设计过程&#xff09; 【问题1】&#xff08;12分&#xff09; 请用200字以内的文字解释什么是软件架构风格&#xff0c;并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方…

Linux 基本语句_8_C语言_文件控制

为了解决多个进程同时操作一个文件&#xff0c;产生一些情况&#xff0c;通常对文件进行上锁&#xff0c;已解决对共享文件的竞争 对打开文件进行各种操作&#xff1a; int fcentl(int fd, int cmd, .../*arg*/如果cmd与锁操作有关&#xff0c;那么fcentl函数的第三个参数就要…

生成的二维码如何解析出原来的地址?

生成的二维码如何解析出原来的地址&#xff1f; 随着移动互联网的发展&#xff0c;二维码作为一种快速获取信息的方式&#xff0c;在我们的生活中越来越常见。而PHP作为Web语言之一&#xff0c;也有着二维码解码的功能。 PHP中有着众多的二维码解码库&#xff0c;例如&#x…

水电站与数据可视化:洞察未来能源趋势的窗口

在信息时代的浪潮中&#xff0c;数据可视化正成为推动能源领域发展的重要工具。今天&#xff0c;我们将带您一起探索水电站与数据可视化的结合&#xff0c;如何成为洞察未来能源趋势的窗口。水电站作为传统能源领域的重要组成部分&#xff0c;它的运行与管理涉及大量的数据。然…

【Linux】VM及WindowsServer安装

【Linux】VM及WindowsServer安装 1.操作系统1.1.什么是操作系统1.2.常见操作系统1.3.个人版本和服务器版本的区别1.4.Linux的各个版本 2.安装VMWare虚拟机2.1.注意点一&#xff1a;VMWare虚拟网卡2.2.注意点二&#xff1a;配置虚拟网络编辑器 3.安装配置Windows Server 2012 R2…

java中Map常见的面试问题,扩容问题,转红黑树的前提,解决Hash哈希冲突的方法

Map集合常见面试题 如何解决 解决哈希碰撞的方法 1链地址法(hashMap的处理方式) 把hash表的每个单元作为链表的头节点。当发生冲突时放入到同一个hash值计算索引对应的链表。 2开放定址法 发生冲突后寻找下一个地址 3再次hash法 对hash值再次进行hash计算 4建立公共溢出区…

SQL server中:常见问题汇总(如:修改表时不允许修改表结构、将截断字符串或二进制数据等)

SQL server中&#xff1a;常见问题汇总 1.修改表时提示&#xff1a;不允许修改表结构步骤图例注意 2.将截断字符串或二进制数据。3.在将 varchar 值 null 转换成数据类型 int 时失败。4.插入insert 、更新update、删除drop数据失败&#xff0c;主外键FOREIGN KEY 冲突5.列不允许…