zoukankan      html  css  js  c++  java
  • [CentOS7] systemd

    声明:本文主要总结自:鸟哥的Linux私房菜-第十七章、認識系統服務 (daemons),如有侵权,请通知博主

    查看当前系统设定的服务启动脚本的类型:ls /usr/lib/systemd/system | cut -d '.' -f 2 | sort | uniq

    1. /usr/lib/systemd/system  ==> 每个服务最主要的启动脚本设定

    2. /run/systemd/system  ==> 系统过程中所产生的服务脚本

    3. /etc/systemd/system  ==> 该目录下都是soft link文件,软链接到/usr/lib/systemd/system目录下的启动脚本,因此该目录决定了开机启动后开启哪些服务

    优先级顺序:3 > 2 > 1

    副檔名 主要服務功能
    .service 一般服務類型 (service unit):主要是系統服務,包括伺服器本身所需要的本機服務以及網路服務都是!比較經常被使用到的服務大多是這種類型! 所以,這也是最常見的類型了!
    .socket

    內部程序資料交換的插槽服務 (socket unit):主要是 IPC (Inter-process communication) 的傳輸訊息插槽檔 (socket file) 功能。 這種類型的服務通常在監控訊息傳遞的插槽檔,當有透過此插槽檔傳遞訊息來說要連結服務時,就依據當時的狀態將該用戶的要求傳送到對應的 daemon, 若 daemon 尚未啟動,則啟動該 daemon 後再傳送用戶的要求。

    使用 socket 類型的服務一般是比較不會被用到的服務,因此在開機時通常會稍微延遲啟動的時間 (因為比較沒有這麼常用嘛!)。一般用於本機服務比較多,例如我們的圖形界面很多的軟體都是透過 socket 來進行本機程序資料交換的行為。 (這與早期的 xinetd 這個 super daemon 有部份的相似喔!)

    .target 執行環境類型 (target unit):其實是一群 unit 的集合,例如上面表格中談到的 multi-user.target 其實就是一堆服務的集合~也就是說, 選擇執行 multi-user.target 就是執行一堆其他 .service 或/及 .socket 之類的服務就是了!
    .mount
    .automount
    檔案系統掛載相關的服務 (automount unit / mount unit):例如來自網路的自動掛載、NFS 檔案系統掛載等與檔案系統相關性較高的程序管理。
    .path 偵測特定檔案或目錄類型 (path unit):某些服務需要偵測某些特定的目錄來提供佇列服務,例如最常見的列印服務,就是透過偵測列印佇列目錄來啟動列印功能! 這時就得要 .path 的服務類型支援了!
    .timer 循環執行的服務 (timer unit):這個東西有點類似 anacrontab 喔!不過是由 systemd 主動提供的,比 anacrontab 更加有彈性!

    (-- 源自鸟哥的Linux私房菜: systemd使用unit分类)

    直接列出所有unit与其状态和描述

    服务是有相依赖性的,比如cups.service负责打印机服务,但若直接systemctl stop cups.service,虽然它确实停止了,但是仍能被cups.path和cups.socket唤醒,例子如下:

    给予了提示,若停止cups.service,该service仍能被cups.path、cups.socket激活

    可以通过systemctl list-units xxx --all 的方式来显示出所有与之相关的unit,加上--all参数后会显示所有的unit包含unloaded的

     systemctl list-units --type={service|socket|path|...} -all 列出所有unit类型为{service|socket|path|...}的服务详细状态

    谨记:

    /usr/lib/systemd/system/: 使用centos官方提供的软件安装后,预设的启动脚本设定文件都放在这里

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

    /etc/systemd/system/: 管理员依据主机系统的需求所建立的执行脚本,优先级比/run/systemd/system/高

    /etc/sysconfig/*: 几乎所有的服务都会将初始化的一些选项设定写入到这个目录下

    /var/lib/: 一些会产生资料的服务都会将他的资料写入到/var/lib/目录下

    /run/: 放置了很多daemon的暂存文件,包括lock file以及PID file等等

  • 相关阅读:
    HTTP断点续传 规格严格
    Java Shutdown 规格严格
    linux 命令源码 规格严格
    JTable调整列宽 规格严格
    linux 多CPU 规格严格
    Hello can not find git path 规格严格
    Kill 规格严格
    拜拜牛人 规格严格
    Swing 规格严格
    Debugging hangs in JVM (on AIX but methodology applicable to other platforms) 规格严格
  • 原文地址:https://www.cnblogs.com/brianyi/p/7997874.html
Copyright © 2011-2022 走看看