Systemd 服務管理(CentOS 7 支援)

    說明

    Linux 的各項服務管理一直都是用 SysV Init Script,Systemd 是新的管理工具,在 CentOS 7 開始已經有支援。

    設定上比 SysV Init 簡單許多,指令的操作差異不大。

    線上教學:

    支援的 Linux:

    • CentOS 7+
    • Ubuntu 16.04+
       

    其他類似應用:

    • Supervisor
      這個被使用在 Ubuntu 9.10,Mac OS X (10.4/10.5/10.6),Solaris (10 for Intel) 及 FreeBSD 6.1。系統環境需要有 Python 2.4,但不支援 Python 3。

    服務設定檔

    /etc/systemd/system/backup.service

    [Unit]
    Description=Backup daemon
    
    [Service]
    Type=simple
    ExecStart=/path/to/backup
    
    [Install]
    WantedBy=multi-user.target
    

    TIP:

    multi-user.target 這是表示 Run Level 3

    更多資訊可以前往 http://0pointer.de/blog/projects/sys...-admins-3.html

    新增一個服務設定檔

    /etc/systemd/system/freepbx.service

    ​[Unit]
    Description=Freepbx
    After=mariadb.service
     
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/sbin/fwconsole start
    ExecStop=/usr/sbin/fwconsole stop
     
    [Install]
    WantedBy=multi-user.target
    

    將服務設為自動啟用

    systemctl enable freepbx
    

    Reload Systemd

    systemctl daemon-reload 

    檢查服務

    systemctl list-units --type service
    systemctl show <service-name> 
    systemctl cat <service-name>
    
    systemctl list-unit-files --type=service
    

    服務管理

    啟動服務

    systemctl start <service-name>
    

    檢查服務狀態

    systemctl status <service-name>
    systemctl is-active <service-name> 
    systemctl is-enable <service-name>
    

    關閉服務

    systemctl stop <service-name>
    

    啟用 自動啟動

    systemctl enable <service-name>
    

    關閉 自動啟動

    systemctl disable <service-name>
    

    列出設為自動啟用的服務

    systemctl list-unit-files --type=service --state=enabled
    

    關機與開機

    # Halt the system
    systemctl halt
    
    # Poeroff the system
    systemctl poweroff
    
    # Reboot the system
    systemctl reboot
    

    其他附屬指令

    coredumpctl
    // 列出系統所有 core dump
    coredumpctl
    
    // 列出指定 program 的 core dump
    coredumpctl dump <program-name>
    
    // 列出指定 PID
    coredumpctl dump _PID=XXX
    
    // 分析特定 core dump 的內容
    coredumpctl gdb <PID>
    
    // 預設 core dump files 路徑
    /var/lib/systemd/coredump
    
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core