Linux系统服务——Daemon

2024-05-14 13:38
文章标签 linux 系统 服务 daemon

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

这里写图片描述

什么是Daemon?

Daemon是Linux的一些系统服务,它们是一些常驻内存的进程。

Daemon分类

Daemon拥有两种分类方式,按照“daemon是否可以在内存中独立启动”可以分为:stand alone和super daemon;按照“请求到来时是否能够立即运行”可分为:signal-control和interval-control。下面详细介绍两种分类方式。

分类方式一:按照“是否可以独立启动”分类

  1. stand alone类型的daemon
    这种类型的daemon可以自行启动,启动之后可以常驻内存,直到手动关闭该daemon才释放资源。

  2. 由super daemon管理的daemon
    这种类型的daemon由super daemon统一管理,当请求到来时,由super daemon启动请求的服务,请求完成后便释放内存资源。

两者的区别:
  • stand alone类型的daemon可以自行启动,无需依赖其他daemon;而super daemon管理的daemon必须借助super daemon来启动;
  • stand alone类型的daemon启动后便常驻内存,而被super daemon管理的daemon只有等到用户请求时才被加载进内存,并且在请求完成后便释放内存资源。由于后者每次请求到来的时候才被加载进内存,因此响应速度比stand alone型daemon要慢。但是它执行完就释放内存资源,因此更节约内存资源。

分类方式二:按照“请求到来时是否能够立即运行”分类

  1. signal-control类型的daemon
    这种类型的daemon当有请求到来时便能立即执行。

  2. interval-control类型的daemon
    这种类型的daemon会周期性地执行某项工作,因此它没有请求一说,它会周期性地读取配置文件,并执行配置文件中要求的功能。如crond、atd都属于interval-control类型的daemon。

Daemon的启动方式

stand-alone类型的daemon和super daemon类型的daemon有各自的启动方式。

stand alone型Daemon的启动方式

  1. 通过/etc/init.d/xxx启动
    启动一个服务是一个繁琐的过程,你需要进行一系列启动前的操作,为了避免这些麻烦,服务提供商把这些繁琐的过程封装在一个shell srcipt中,我们只需执行一个shell script即可启动一个daemon。几乎所有的stand alone型daemon的启动脚本都放在/etc/init.d/下,所以我们只需执行/etc/init.d/xxx start即可启动xxx服务。

  2. 通过service命令启动
    若每次启动一个命令都要写/etc/init.d/略微有些麻烦,service命令将其进行了封装,我们只要执行service xxx start/status/restart/stop即可开启/查看/重启/关闭xxx服务。

super daemon型Daemon的启动方式

  1. step1:设置daemon的配置文件
    每一个被super daemon管理的daemon都有一个配置文件,在/etc/xinetd.d/目录下。每个daemon的开启或关闭均在该daemon对应的配置文件中设置。
  2. step2:启动super daemon
    super daemon是一个stand alone型daemon,因此在daemon的配置文件设置好后可通过service xinetd start启动所有由super daemon管理的daemon。

与daemon相关的目录介绍

  • /etc/init.d/
    该目录存放所有stand a

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



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

相关文章

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用