linux systemd 使用

CentOS 7 使用systemd替換了SysV。Systemd目的是要取代Unix時代以來一直在使用的init系統,兼容SysV和LSB的啓動腳本,並且夠在進程啓動過程當中更有效地引導加載服務。html

systemd的特性有:linux

  • 支持並行化任務
  • 同時採用socket式與D-Bus總線式激活服務;
  • 按需啓動守護進程(daemon);
  • 利用 Linux 的 cgroups 監視進程;
  • 支持快照和系統恢復;
  • 維護掛載點和自動掛載點;
  • 各服務間基於依賴關係進行精密控制。

1.systemd 結構:centos

架構圖:架構

 

使用單元
一個單元配置文件能夠描述以下內容之一:系統服務(.service)、掛載點(.mount)、sockets(.sockets 、系統設備、交換分區/文件、啓動目標(target)、文件系統路徑、由 systemd 管理的計時器。詳情參閱 man 5 systemd.unit.ssh

使用 systemctl 控制單元時,一般須要使用單元文件的全名,包括擴展名(例如 sshd.service)。可是有些單元能夠在systemctl中使用簡寫方式。socket

  • 若是無擴展名,systemctl 默認把擴展名看成 .service。例如 netcfg 和 netcfg.service 是等價的。
  • 掛載點會自動轉化爲相應的 .mount 單元。例如 /home 等價於 home.mount。
  • 設備會自動轉化爲相應的 .device 單元,因此 /dev/sda2 等價於 dev-sda2.device

Systemd 使用手冊ui

https://www.freedesktop.org/software/systemd/man/systemctl.htmlspa

How to write startup script for systemd.net

https://unix.stackexchange.com/questions/47695/how-to-write-startup-script-for-systemdunix

linux start up script in systemd

https://stackoverflow.com/questions/15146049/linux-start-up-script-in-systemd

 

Systemd使用多個變量

https://stackoverflow.com/questions/21502264/how-to-use-a-parameter-in-execstart-command-line

https://superuser.com/questions/728951/systemd-giving-my-service-multiple-arguments

其餘介紹:

https://blog.csdn.net/djskl/article/details/39672873

 

2.使用前須要瞭解 systemd 與ulimit 之間的關係以下所示

 Directive        ulimit equivalent     Unit
LimitCPU=        ulimit -t             Seconds      
LimitFSIZE=      ulimit -f             Bytes
LimitDATA=       ulimit -d             Bytes
LimitSTACK=      ulimit -s             Bytes
LimitCORE=       ulimit -c             Bytes
LimitRSS=        ulimit -m             Bytes
LimitNOFILE=     ulimit -n             Number of File Descriptors 
LimitAS=         ulimit -v             Bytes
LimitNPROC=      ulimit -u             Number of Processes 
LimitMEMLOCK=    ulimit -l             Bytes
LimitLOCKS=      ulimit -x             Number of Locks 
LimitSIGPENDING= ulimit -i             Number of Queued Signals 
LimitMSGQUEUE=   ulimit -q             Bytes
LimitNICE=       ulimit -e             Nice Level 
LimitRTPRIO=     ulimit -r             Realtime Priority  
LimitRTTIME=     No equivalent

相關細節參考:CENTOS/RHEL 7 系統中設置SYSTEMD SERVICE的ULIMIT資源限制

相關文章
相關標籤/搜索