CentOS7的服務(wù)systemctl腳本存放在:/usr/lib/systemd/,有系統(tǒng)(system)和用戶(user)之分,需要開機不登陸就能運行的程序,存在系統(tǒng)服務(wù)里枕面,即:/usr/lib/systemd/system目錄下.
CentOS7的每一個服務(wù)以.service結(jié)尾焕盟,一般會分為3部分:[Unit]肪跋、[Service]和[Install]
[Unit]
部分主要是對這個服務(wù)的說明契沫,內(nèi)容包括Description和After,Description 用于描述服務(wù)荚斯,After用于描述服務(wù)類別
[Service]部分是服務(wù)的關(guān)鍵妖啥,是服務(wù)的一些具體運行參數(shù)的設(shè)置.
Type=forking是后臺運行的形式霉颠,
User=users是設(shè)置服務(wù)運行的用戶,
Group=users是設(shè)置服務(wù)運行的用戶組,
PIDFile為存放PID的文件路徑,
ExecStart為服務(wù)的具體運行命令,
ExecReload為重啟命令荆虱,
ExecStop為停止命令蒿偎,
PrivateTmp=True表示給服務(wù)分配獨立的臨時空間
[Service]
注意:[Service]部分的啟動、重啟怀读、停止命令全部要求使用絕對路徑诉位,使用相對路徑則會報錯!
[Install]
[Install]部分是服務(wù)安裝的相關(guān)設(shè)置菜枷,可設(shè)置為多用戶的
首先苍糠,使用systemctl start [ 服務(wù)名(也是文件名) ] 可測試服務(wù)是否可以成功運行,如果不能運行則可以使用systemctl status [ 服務(wù)名(也是文件名) ]查看錯誤信息和其他服務(wù)信息啤誊,然后根據(jù)報錯進行修改岳瞭,直到可以start拥娄,如果不放心還可以測試restart和stop命令。
接著瞳筏,只要使用systemctl enable xxxxx就可以將所編寫的服務(wù)添加至開機啟動即可稚瘾。
實例:服務(wù)用于開機運行tomcat項目:
#vim /usr/lib/systemd/system/tomcat.service[Unit]Description=java tomcat projectAfter=tomcat.service[Service]Type=forkingUser=usersGroup=usersPIDFile=/usr/local/tomcat/tomcat.pidExecStart=/usr/local/tomcat/bin/startup.shExecReload=ExecStop=/usr/local/tomcat/bin/shutdown.shPrivateTmp=true[Install]WantedBy=multi-user.target
服務(wù)操作
添加可執(zhí)行權(quán)限:
chmod 754 /usr/lib/systemd/system/tomcat.service
設(shè)置為開機自啟動:
#systemctl enable tomcat.service
常用指令(以tomcat服務(wù)為例):
啟動某服務(wù)
systemctl start tomcat.service
停止某服務(wù)
systemctl stop tomcat.service
重啟某服務(wù)
service tomcat restartsystemctl restart tomcat.service
使某服務(wù)自動啟動(如tomcat服務(wù))
systemctl enable tomcat.service
使某服務(wù)不自動啟動
systemctl disable tomcat.service
檢查服務(wù)狀態(tài)
systemctl status tomcat.service (服務(wù)詳細信息)systemctl is-active tomcat.service(僅顯示是否Active)
顯示所有已啟動的服務(wù)
systemctl list-units --type=service