這篇文章主要介紹“CentOS7中systemd怎么添加自定義系統服務”,在日常操作中,相信很多人在CentOS7中systemd怎么添加自定義系統服務問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”CentOS7中systemd怎么添加自定義系統服務”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
創新互聯是一家專業提供達州企業網站建設,專注與成都網站設計、網站制作、H5頁面制作、小程序制作等業務。10年已為達州眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。
systemd:
centos 7的服務systemctl腳本存放在:/usr/lib/systemd/,有系統(system)和用戶(user)之分,即:/usr/lib/systemd/system ,/usr/lib/systemd/user
每一個服務以.service結尾,一般會分為3部分:[unit]、[service]和[install],就以nginx為例吧,具體內容如下:
創建service:
在/usr/lib/systemd/system下創建nginx.service文件內容如下(看應用需求也可以在 /usr/lib/systemd/usr下創建):
[unit] description=nginx - high performance web server documentation=http://nginx.org/en/docs/ after=network.target remote-fs.target nss-lookup.target [service] type=forking pidfile=/run/nginx.pid execstartpre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf execstart=/usr/sbin/nginx -c /etc/nginx/nginx.conf execreload=/bin/kill -s hup $mainpid execstop=/bin/kill -s quit $mainpid privatetmp=true [install] wantedby=multi-user.target
[unit]
description : 服務的簡單描述
documentation : 服務文檔
after= : 依賴,僅當依賴的服務啟動之后再啟動自定義的服務單元
[service]
type : 啟動類型simple、forking、oneshot、notify、dbus
type=simple(默認值):systemd認為該服務將立即啟動。服務進程不會fork。如果該服務要啟動其他服務,不要使用此類型啟動,除非該服務是socket激活型。 type=forking:systemd認為當該服務進程fork,且父進程退出后服務啟動成功。對于常規的守護進程(daemon),除非你確定此啟動方式無法滿足需求,使用此類型啟動即可。使用此啟動類型應同時指定 pidfile=,以便systemd能夠跟蹤服務的主進程。 type=oneshot:這一選項適用于只執行一項任務、隨后立即退出的服務。可能需要同時設置 remainafterexit=yes 使得 systemd 在服務進程退出之后仍然認為服務處于激活狀態。 type=notify:與 type=simple 相同,但約定服務會在就緒后向 systemd 發送一個信號。這一通知的實現由 libsystemd-daemon.so 提供。 type=dbus:若以此方式啟動,當指定的 busname 出現在dbus系統總線上時,systemd認為服務就緒。
pidfile : pid文件路徑
execstartpre :啟動前要做什么,上文中是測試配置文件 -t
execstart:啟動
execreload:重載
execstop:停止
privatetmp:true表示給服務分配獨立的臨時空間
[install]
wantedby:服務安裝的用戶模式,從字面上看,就是想要使用這個服務的有是誰?上文中使用的是:multi-user.target ,就是指想要使用這個服務的目錄是多用戶。「以上全是個人理解,瞎猜的,如有不當,請大家多多指教」每一個.target實際上是鏈接到我們單位文件的集合,當我們執行:
$ sudo systemctl enable nginx.service
就會在/etc/systemd/system/multi-user.target.wants/目錄下新建一個/usr/lib/systemd/system/nginx.service 文件的鏈接。
操作service:
#啟動服務 $ sudo systemctl start nginx.service #查看日志 $ sudo journalctl -f -u nginx.service -- logs begin at 四 2015-06-25 17:32:20 cst. -- 6月 25 10:28:24 leco.lan systemd[1]: starting nginx - high performance web server... 6月 25 10:28:24 leco.lan nginx[7976]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 6月 25 10:28:24 leco.lan nginx[7976]: nginx: configuration file /etc/nginx/nginx.conf test is successful 6月 25 10:28:24 leco.lan systemd[1]: started nginx - high performance web server. #重啟 $ sudo systemctl restart nginx.service #重載 $ sudo systemctl reload nginx.service #停止 $ sudo systemctl stop nginx.service
到此,關于“CentOS7中systemd怎么添加自定義系統服務”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
本文題目:CentOS7中systemd怎么添加自定義系統服務
文章來源:http://vcdvsql.cn/article22/iijijc.html
成都網站建設公司_創新互聯,為您提供App開發、Google、網站維護、ChatGPT、品牌網站設計、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯