认识系统服务daemons

2023-12-09 10:12
文章标签 系统 服务 认识 daemons

本文主要是介绍认识系统服务daemons,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是daemon与服务(service)

常驻内存的是进程,可以提供一些系统或网络功能,这就是服务。实现service的程序称为daemon。也就是说要想提供某种服务,daemon实在后台运行的。

daemon的分类:

1)可独立启动,启动后加载到内存,一直占用内存与系统资源,stand alone的daemon相应速度快,常见的有www的daemon(httpd),ftp的daemon(vftpd)。

2)super daemon统一管理,有客户端访问,才将服务加载到内存,访问结束后释放资源,类似网路防火墙的功能,具有安全管控的机制。由于服务加载内存需要时间,所以响应时间会慢一些。

案例:现有进程p1,客户端1,super daemon(常驻内存),

当客户端1发起请求时候,super daemon 触发进程p1称为daemon加载到内存中,此时,客户端的请求(例如daemon1)才可以达成链接,当请求结束后,daemon1将会被删除。

两种模式  第一种就是  1 对1   第二种   是 1 对 1 对多,相当于有个总控制台,收到请求后转发给下面对应的负责daemon

super daemon又分为单线程和多线程,这个更好理解了,单线程,类似多个用一个取款机,多线程当然就是多人用多个取款机这种,用在这里,单线程一个服务处理一个请求,结束后在转下一个,多线程则是一个服务处理多个请求。

deamon工作形态类型,

信号管理  只要有客户请求,它就会立即处理,例如打印服务

interval-control 每隔一段时间就主动去执行某项工作,在配置文件里面指定服务和时间,例行性任务at和crond就属于这种类型daemon

daemon命名规则,默认都是在服务名称后加d,例如at和cron这两个服务,他的程序文件名就是atd,crond,其中d代表daemon意思。

二,查看服务和端口的配置文件,第一列就是daemon的名字

less  /etc/services

daemon的启动脚本和启动方式

启动脚本放置处:/etc/init.d/* 

各个服务的初始化环境配置文件 /etc/sysconfig/*

/etc/xinetd.confi,/etc/xinetd.d/*:super daemon配置文件

/etc/* 各服务各自的配置文件

/var/lib/* 各服务产生的数据库,mysql的数据库默认写入到、/var/lib/mysql/这个目录下

/var/run/* 各服务的程序的pid记录处,daemon、通常会将自己的pid记录一份文件到此目录下

centos7的chkconfig命令运行会提示如下:

由上图可以了解,改版后需要用systemctl查看了,如上图

daemon的分类stand_alone可以单独启动的服务

可以添加到/etc/init.d/ 目录下,然后利用chkconfig --add  服务名 添加开机启动

分类2:通过super daemon统一管理分发

各个服务和端口的对应

启动的脚本和方式,系统版本不同会略有不同

如果是super daemon的服务则是在目录/etc/xinetd.d/新建启动脚本

这篇关于认识系统服务daemons的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/473407

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默