百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux系统daemon守护进程详解

gudong366 2025-06-21 20:14 8 浏览

摘要:Linux系统中,Daemon守护进程(也称Service服务)表示后台运行的程序,一般随系统的启动自动地启动。该daemon进程一般在启动后需要与父进程断开关系,并使进程没有控制终端(tty)。因为daemon程序在后台执行,不需要与终端交互。daemon无法输出信息,可以使用syslog或自己的日志系统进行日志处理。

本文主要介绍Linux系统daemon守护进程的功能和特点,详细内容参考下文。

一、Linux守护进程

1、Daemon守护进程的概念

Linux 系统Daemon守护进程是指运行在后台的一种特殊进程。其独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件,不需要用户输入就能运行而且提供某种服务。Linux系统的大多数服务器就是通过守护进程实现的。常见的守护进程包括系统日志进程syslogd、站点服务器httpd、邮件服务器sendmail和数据库服务器mysqld等。

守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机都保持运行。守护进程经常以超级用户root权限运行。一个守护进程的父进程是init进程,因为它真正的父进程在fork出子进程后就先于子进程exit退出了,所以它是一个由init继承的孤儿进程。守护进程的名称通常以d结尾,比如sshd、xinetd、crond等。

2、Daemon守护进程的分类

根据守护进程的启动和管理方式,可以分为独立启动守护进程和超级守护进程两类。

(1)、独立启动守护进程:该类进程启动后就常驻内存,所以会一直占用系统资源。其最大的优点就是它会一直启动,当外界有要求时响应速度较快,像httpd等进程。

(2)、超级守护进程:系统启动时由一个统一的守护进程xinet来负责管理一些进程,当相应请求到来时需要通过xinet的转接才可以唤醒被xinet管理的进程。这种进程的优点时最初只有xinet这一守护进程占有系统资源,其他的内部服务并不一直占有系统资源,只有数据包到来时才会被xinet管理员来唤醒。并且还可以通过xinet来对它所管理的进程设置一些访问权限,相当于多了一层管理机制。

3、Daemon守护进程的运行方式

说明:根据守护进程的启动和管理过程,可以将守护进程的运行方式分为独立运行和xinetd模式运行两种进程运行方式。

(1)、独立运行的守护进程

独立运行的守护进程由init脚本负责管理,所有独立运行的守护进程的脚本在/etc/rc.d/init.d/目录下。系统服务都是独立运行的守护进程,包括syslogd和crond等。独立运行的守护进程的工作方式称做stand-alone,它是UNIX传统的C/S模式的访问模式。工作在stand-alone模式下的网络服务有xinetd、route、gated,另外还有Web服务器Apache和邮件服务器Sendmail、域名服务器Bind。在Linux系统中通过stand-alone模式启动的服务由/etc/rc.d/下面对应的运行级别当中的符号链接启动。

(2)、xinetd模式运行的守护进程

从守护进程的概念可以看出,对于系统所要通过的每一种服务,都必须运行一个监听某个端口连接所发生的守护进程,这通常意味着资源浪费。为了解决这个问题,Linux引进了"网络守护进程服务程序"的概念。最基础的网络守护进程是xinted(eXtended InterNET daemon)。xinetd能够同时监听多个指定的端口,在接受用户请求时,能够根据用户请求的端口的不同,启动不同的网络服务进程来处理这些用户请求。可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给哪个程序处理,然后启动相应的守护进程。xinetd无时不在运行并监听它所管理的所有端口上的服务。当某个要连接它管理的某项服务的请求到达时,xinetd就会为该服务启动合适的服务器。

执行指令# pstree查看各种服务

二、Xinetd进程

1、Xinetd概念

xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。

2、Xinetd特色

(1)、强大的存取控制功能

内置对恶意用户和善意用户的差别待遇设定。

使用libwrap支持,其效能更甚于tcpd。

可以限制连接的等级,基于主机的连接数和基于服务的连接数。

设置特定的连接时间。

将某个服务设置到特定的主机以提供服务。

(2)、有效防止DoS攻击

可以限制连接的等级。

可以限制一个主机的最大连接数,从而防止某个主机独占某个服务。

可以限制日志文件的大小,防止磁盘空间被填满。

(3)、强大的日志功能

可以为每一个服务就syslog设定日志等级。

如果不使用syslog,也可以为每个服务建立日志文件。

可以记录请求的起止时间以决定对方的访问时间。

可以记录试图非法访问的请求。

(4)、转向功能

可以将客户端的请求转发到另一台主机去处理。

(5)、与客户端的交互功能

无论客户端请求是否成功,xinetd都会有提示告知连接状态。

3、适合使用Xinetd启动守护进程

说明:原则上任何系统服务都可以使用xinetd,然而最适合的应该是那些常用的网络服务,同时,这个服务的请求数目和频繁程度不会太高。像DNS和Apache就不适合采用这种方式,而像FTP、Telnet、SSH等就适合使用xinetd模式,系统默认使用xinetd的服务可以分为如下几类。

Internet服务

telnet、ftp

邮件服务

imap、imaps、pop2、pop3、pops

信息服务

finger、netstat、systat

RPC服务

rquotad、rstatd、rusersd、sprayd、walld

BSD服务

comsat、exec、login、ntalk、shell、talk

内部服务

chargen、daytime、echo、servers、services、time

安全服务

irc

其他服务

name、tftp、uucp

4、Xinetd进程的配置文件介绍

说明:在Linux系统中,对应着Xinet进程的配置文件有以下三个,分别为/etc/services, /etc/xinetd.conf和/etc/xinetd.d/*

Xinet进程

/etc/services, /etc/xinetd.conf和/etc/xinetd.d/*

(1)、/etc/services

说明:在/etc/services 中设置了xinetd下的service对应的端口。

(2)、/etc/xinetd.conf

说明:Xinetd的配置文件是/etc/xinetd.conf,但是它只包括几个默认值及/etc/xinetd.d目录中的配置文件。如果要启用或禁用某项xinetd服务,编辑位于/etc/xinetd.d目录中的配置文件。例如,disable属性被设为yes,表示该项服务已禁用;disable属性被设为no,表示该项服务已启用。

(3)、/etc/xinetd.d/*

下面以/etc/xinetd.d/中的一个文件(time-stream)为例。

下面说明每一行选项的含义。

disable = yes:表示禁用这个服务。

socket_type = stream:表示服务的数据包类型为stream。

wait = no:表示不需等待,即服务将以多线程的方式运行。

user = root:表示执行此服务进程的用户是root。

server = /usr/bin/rsync:启动脚本的位置。

log_on_failure += USERID:表示设置失败时,UID添加到系统登记表。

三、Service命令

说明:Linux的Service命令就是查看和控制所有的独立启动的守护进程。Service此命令位于/sbin/service,用file命令查看此命令会发现它是一个脚本命令。分析脚本可知此命令的作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作。例如service mysqld stop等价于/etc/init.d/mysqld stop。

执行指令# vim /sbin/service查看其脚本

相关推荐

U盘文件被删怎么简单恢复(u盘里的文件被误删了怎么找回)

现在这个社会不是靠关系靠路子,主要还是靠实力。刘强在机关工作,人长得帅气,工作能力又强。唯独一样不好,脾气太大,动不动就发火,因为小事常和同事发生口角。一次他火大的差点把办公桌给掀翻了,领导见他野蛮的...

不小心删除了一些文件?9 个最佳免费硬盘恢复软件

恢复您曾经无意或意外删除的所有文件和数据。您是否曾经错误地删除了一个对您的工作至关重要并导致您丢失所有进度的文件?我们为您提供了一些最好的免费硬盘恢复软件,以帮助您恢复意外删除的文件,以解决您的文件删...

Studio 中文版:数据救援神器,误删 / 分区损坏 / RAID 恢复一键找回

Studio中文版:数据救援神器,误删/分区损坏/RAID恢复一键找回当文件意外删除、分区损坏,或RAID阵列崩溃时,一款可靠的数据恢复工具往往能挽回关键损失。R-Studio中文版...

你值得拥有的11款Linux数据恢复工具

如果你使用的是Linux操作系统,那么你一定想知道一旦硬盘崩溃的话又该如何保存和恢复数据。其实,现在有很多Linux数据恢复工具可以让我们摆脱数据安全的困扰。小编已经为各位准备好了一些最好的Linux...

误删文件内容怎么恢复(误删文件内容怎么恢复回来)

  在日常使用电脑的过程中,误删文件的情况时有发生。无论是由于操作失误还是病毒攻击,误删文件都会给我们带来不小的困扰。幸运的是,随着技术的发展,误删文件恢复已不再是难题。本文将介绍几款国内外知名的误删...

u盘如何恢复删除的文件?推荐5款u盘数据恢复软件!

在日常生活与工作中,U盘作为便捷的数据存储载体,频繁用于传输和保存各类重要文件。然而,误删文件的情况却时有发生,无论是珍贵的照片、重要的工作文档,还是精心制作的视频,一旦删除,都可能带来不小的麻烦。...

怎么恢复删除的数据?5种有效的数据恢复方法汇总!

在数字化办公与生活的时代,电脑里的每一份数据都承载着重要信息。然而,一个误操作就可能导致数据被删除,无论是尚未保存的重要文档,还是珍藏多年的照片,都可能瞬间“消失”。但其实,数据删除并不意味着永久丢...

u盘删除文件怎么找回?5个数据恢复工具汇总,助你巧妙恢复数据!

在日常使用U盘的过程中,误删文件的情况时有发生,重要的工作文档、珍贵的照片视频一旦消失,难免让人焦急万分。别担心,只要选对数据恢复工具,被删除的数据仍有找回的可能。下面就为你汇总5款实用的数据...

Linux下恢复误删文件:思路+实践(linux删除如何恢复)

周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到DaveChinner在邮件列表里提到了这个问题,...

苹果放大招!不用虚拟机了,Mac直接跑Linux容器,开发者效率翻倍

苹果这次真给开发者送福利了!今天凌晨(6月10日),苹果在官宣的Containerization框架直接炸了技术圈——Mac现在能原生运行Linux容器镜像了!这可不是虚拟机那种“套娃”方案,而是基...

7 款老牌经典软件,值得收藏(经典老歌软件)

Calibrehttps://calibre-ebook.com/Calibre是一个电脑电子书管理软件。肯定有人说了,电子书还要管理?那当然了。它的功能更强大的让你想象不到,首先它可以导入PDF,...

神仙级的免费开源电子书阅读器,还支持听书功能

神仙级的免费开源电子书阅读器,还支持听书功能,极空间部署『KoodoReader』哈喽小伙伴们好,我是Stark-C~前段时间不是给大家分享的电子书管理工具『TaleBook』嘛~,然后就有粉丝私信...

如何在Ubuntu系统中重置root密码(ubuntu忘记密码重置root密码命令)

很多人有个问题,就是喜欢把密码设置得很长很复杂,结果谁也没防住,却成功防住了自己ヽ(.ˇдˇ;)ノ对于现代人,特别是年轻人,都有过忘记密码的经历吧。在这篇文章中,我们来了解如何在Ubuntu1...

5款功能强大的PDF阅读器,让PDF阅读更轻松

分享5款功能强大的PDF阅读器,拥有丰富的PDF阅读工具,支持PDF文档划线、笔记、标记等操作,让PDF阅读更轻松!1.嗨动PDF编辑器一款实用的PDF处理软件,不仅可以阅读PDF文档,还能直接编辑、...

上班摸鱼利器! 免费好用的电子书阅读器,NAS轻松部署Koodo Reader

哈喽,大家好我是生活爱好者。笔者也是一名小说爱好者,平时用手机用某信读书,会员也开了,在家看体验也不错,但是上班的时候,在工作快速完成之后,想摸个鱼用手机就不太方便啦,作为爱折腾的人,必须要工作认真,...