<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Linux 系統在啟動過程中,核心完成初始化以後,由核心第一個啟動的程式便是 init 程式,路徑為 /sbin/init(為一個軟連線,連結到真實的 init 程序),其 PID 為1,它為系統裡所有程序的“祖先”,Linux 中所有的程序都由 init 程序直接或間接進行建立並執行,init 程序以守護行程的方式存在,負責組織與執行系統的相關初始化工作,讓系統進入定義好的執行模式,如命令列模式或圖形介面模式。
Systemd(系統管理守護行程),最開始以GNU GPL協定授權開發,現在已轉為使用GNU LGPL協定,它是如今討論最熱烈的引導和服務管理程式。如果你的Linux系統設定為使用Systemd載入程式,它取替傳統的SysV init,啟動過程將交給systemd處理。Systemd的一個核心功能是它同時支援SysV init的後開機啟動指令碼。
systemd是目前Linux系統上主要的系統守護行程管理工具,由於init一方面對於程序的管理是序列化的,容易出現阻塞情況,另一方面init也僅僅是執行啟動指令碼,並不能對服務本身進行更多的管理。所以從CentOS 7開始也由systemd取代了init作為預設的系統程序管理工具。
systemd 是核心啟動後的第一個使用者程序,PID 為1,是所有其它使用者程序的父程序。
系統初始化需要做的事情非常多。需要啟動後臺服務,比如啟動 ssh 服務;需要做設定工作,比如掛載檔案系統。這個過程中的每一步都被 systemd 抽象為一個設定單元,即 unit。可以認為一個服務是一個設定單元,一個掛載點是一個設定單元,一個交換分割區的設定是一個設定單元等等。
下面是一些常見的 unit 型別:
**每個設定單元都有一個對應的組態檔,系統管理員的任務就是編寫和維護這些不同的組態檔,比如一個 MySQL 服務對應一個 mysql.service 檔案。**
Unit 檔案按照 Systemd 約定,應該被放置指定的三個系統目錄之一中。這三個目錄是有優先順序的,如下所示,越靠上的優先順序越高。因此,在三個目錄中有同名檔案的時候,只有優先順序最高的目錄裡的那個檔案會被使用。
/etc/systemd/system:系統或使用者自定義的組態檔 /run/systemd/system:軟體執行時生成的組態檔 /usr/lib/systemd/system:系統或**第三方軟體安裝時新增的組態檔**。
Systemd 預設從目錄 /etc/systemd/system/ 讀取組態檔。但是,裡面存放的大部分檔案都是符號連結,指向目錄 /usr/lib/systemd/system/,真正的組態檔存放在那個目錄。
Target 就是一個 Unit 組,包含許多相關的 Unit 。
Unit 是 Systemd 管理系統資源的基本單元,可以認為每個系統資源就是一個 Unit,並使用一個 Unit 檔案定義。在 Unit 檔案中需要包含相應服務的描述、屬性以及需要執行的命令。
systemd.service 中文手冊
參考URL:
每一個服務以.service結尾,一般會分為3部分:[Unit]、[Service]和[Install]
把自己的服務使用systemd管理需要書寫*.service檔案,如服務名xxx.service,下面我們介紹一下*.service檔案裡面具體的內容。
進入目錄 cd /etc/systemd/system/
cat << EOF > /etc/systemd/system/xxx.service [Unit] Description=Xxx Service Documentation=https://www.secureweb3.com/ After=network-online.target Wants=network-online.target [Service] User=root CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE NoNewPrivileges=true ExecStart=+$APPROOT/xxx Restart=on-failure RestartPreventExitStatus=23 [Install] WantedBy=multi-user.target EOF
network.target代表有網路,network-online.target代表一個連通著的網路。
[service]
美: [ˌkeɪpəˈbɪləti]
英: [.keɪpə’bɪləti]
n. 能力;才能;(國家的)軍事力量
網路 效能;容量;才幹
bound
美: [baʊnd]
英: [baʊnd]
n. 邊界;跳躍;範圍;界限
v. 跳躍;鄰接;“bind”的過去分詞和過去式;限制
adj. 打算;要往(某處)去的;被束縛的;理應…的
網路 彈跳;邊邊界框;彈跳力
CAP_NET_ADMIN
執行各種與網路相關的操作:
* 介面設定;
* 管理 IP 防火牆、偽裝和
會計;
* 修改路由表;
*繫結到任何地址以進行透明代理;
* 設定服務型別 (TOS);
* 清除驅動程式統計資訊;
* 設定混雜模式;
*啟用多播;
* 使用setsockopt(2)設定以下通訊端選項:
SO_DEBUG、SO_MARK、SO_PRIORITY(對於優先順序外
範圍 0 到 6)、SO_RCVBUFFORCE和SO_SNDBUFFORCE。
CAP_NET_BIND_SERVICE 將通訊端繫結到 Internet 域特權埠(埠 小於 1024 的數位)。
[Install]
Target的含義是服務組,表示一組服務。WantedBy=multi-user.target指的是,sshd 所在的 Target 是multi-user.target。
這個設定非常重要,因為執行systemctl enable sshd.service命令時,sshd.service的一個符號連結,就會放在/etc/systemd/system目錄下面的multi-user.target.wants子目錄之中。
一般來說,常用的 Target 有兩個:一個是multi-user.target,表示多使用者命令列狀態;另一個是graphical.target,表示圖形使用者狀態,它依賴於multi-user.target。
Systemd 入門教學:實戰篇
參考URL: https://www.jb51.net/article/269756.htm
Linux命令——systemctl
參考URL:https://www.jb51.net/article/269756.htm
systemd對應的程序管理命令就是systemctl。
systemctl [command] [unit](設定的應用名稱) command可選項· start:啟動指定的unit systemctl start nginx stop:關閉指定的unit systemctl stop nginx restart:重啟指定unit systemctl restart nginx reload:過載指定unit systemctl reload nginx enable:系統開機時自動啟動指定unit,前提是組態檔中有相關設定 systemctl enable nginx disable:開機時不自動執行指定unit systemctl disable nginx status:檢視指定unit當前執行狀態 systemctl status nginx
Systemd 入門教學:實戰篇
參考URL: https://www.jb51.net/article/269756.htm
到此這篇關於linux 系統程序管理工具systemd詳解(systemctl命令、建立自己的systemd服務)的文章就介紹到這了,更多相關linux 程序管理工具systemd內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45