linux常见系统级服务,Linux系统服务(daemons)

1、什么是daemon与服务(service)

常驻在内存中的进程,且可以提供一些系统或网络功能,那就是服务(service)。

实现这个service的程序我们就称它为daemon。举例来说,实现循环型例行性工作调度服务(service)的程序为crond这个daemon。事实上,你可以将这两者视为相同!因为达成某个服务是需要一个daemon在后台运行的。

在CentOS 7.x 中,传统的 init 已被舍弃,取而代之的是 systemd 这个服务。

全部的 systemd 都用 systemctl 這個管理程式管理,而 systemctl 支援的語法有限制,不像 /etc/init.d/daemon 就是純腳本可以自訂參數,systemctl 不可自訂參數。

1.1、daemon的分类

如果依据daemon的启动与管理方式来区分,基本上可以将daemon分为可独立启动的 “stand alone” 和 通过一个“super daemon”来统一管理的服务这两大类。

stand_alone:此daemon可以自行单独启动服务

stand_alone“独立启动”,此类型的daemon可以自行启动而不必通过其他机制的管理;daemon启动并加载到内存后就一直占用内存与系统资源。因为一直存在于内存中持续提供服务,因此响应速度较快;

super daemon:一个特殊的daemon来统一管理

这一种启动方式则是通过一个统一的daemon来负责唤起系统,这个特殊的daemon被称为super daemon。当没有客户端请求时,各项服务都是未启动情况,等到有来自客户端的请求时,super daemon才唤醒相对应的服务。当客户端请求结束后,被唤醒的这个服务也会关闭并释放系统资源。

这种机制的好处是:

由于super daemon负责唤醒各项服务,因此super daemon可以具有安全控管的机制,就是类似网络防火墙的功能;

由于服务在客户端的连接结束后就关闭,因此不会一直占用系统资源。

但缺点就是服务的响应时间有点慢。

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

multi-threaded(多线程)

single-threaded(单线程)

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

daemon的命名规则:

这些服务被挂上Linux使用时,通常在服务的名称后面加上一个d,例如atd,crond,httpd,mongod等。

1.2、服务与端口的对应

我们通过IP定位主机,通过端口号定位服务请求。

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

port与daemon对应

让服务和端口号对应在一起,/etc/services文件。不建议修改这里面的文件,除非你自定义的服务和地下网站。

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

/etc/services

1.3、system的文件存放目录

systemd将过去多维的daemon执行脚本通通称为一个服务单位(unit),而每种服务单位依据功能来区分时,就分为不同的类型(type)。基本包括系统服务、资料监听与交换、socket、存储系统状态类型、不同运行等级的操作环境等。

设置文档都放置于以下目录:/usr/lib/systemd/system/:每个系统服务最主要的启动脚本设定,有点类似以前的/etc/init.d;

/run/systemd/system/:系统执行过程中所产生的服务脚本,脚本的优先序要比/usr/lib/systemd/system高;

/etc/systemd/system/:管理员依据主机的需求建立的执行脚本,优先序比/usr/systemd/system高;

/etc/sysconfig/*:几乎所有的服务都会将初始化的一些选项写入这个目录下。如网络的设定/erc/sysconfig/network-scripts/;

/var/lib:一些会产生资料的服务都会将它的资料写入/var/lib目录中;如数据库预设就是写入/var/lib/mysql;

/run/:放置好多daemon的暂存档,包括lock file 以及 PID file。

1.4、常见的systemd的服务类型

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2、system管理服务

基本上,systemd这个启动服务的机制,主要是通过systemctl的指令来处理的。跟以前system V需要service、chkconfig、setup、init等指令来协助不同,systemd就是仅有systemctl这个指令来处理。

2.1、systemctl

一般来说,服务的启动有两个阶段,一个是开机的时候要不要启动;一个是现在要不要启动。

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

systemctl

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

几个常见的状态:active(running):正有一个或多个程序在系统中执行;

active(exited):近执行一次就正常结束的服务;

active(waiting):正在执行当中,不过还再等待其他的时间才能继续处理;

inactive:这个服务目前没有运作。

enabled:这个daemon将在开机时被执行;

disable:这个daemon在开机时不会被执行;

static:这个daemon不可以自己启动;

mask:这个daemon无论如何都无法被启动。

强迫服务注销(mask)的练习:

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

mask

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

unmask

2.2、通过systemctl管理系统上所有的服务

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2.3、通过systemctl管理不同的操作环境(target unit)

主要target有以下几个:graphical.target:就是文字加上图形界面,这个已经包含了multi-user.target;

multi-user.target:纯文本模式;

rescue.target:在无法使用root登入的情况下,ststemd再开机时会多加一个额外的暂时系统,与你原本的系统无关,这是你可以取得root的权限来维护你的系统;

emergency.target:紧急处理系统的错误,在无法使用rescue时可以尝试使用;

shutdown.target:就是关机的流程;

getty.targt:可以设定你需要几个tty之类。

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

suspend:暂停模式是将系统的状态保存到记忆中;

hibernate:休眠模式是将系统状态保存到硬盘中。

2.4、将tty数量由6个降为4个

e793810250ae?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值