CentOS7的服務systemctl腳本存放在:/usr/lib/systemd/
,有系統(system)和用戶(user)之分,需要開機不登陸就能運行的程序,存在系統服務裏,即:/usr/lib/systemd/system
目錄下.這樣說吧 ,它融合之前service和chkconfig的功能於一體!!!
說明
CentOS7的每一個服務以.service結尾,一般會分爲3部分:[Unit]、[Service]和[Install]
-
[Unit] 服務的說明
- Description 描述服務
- After 描述服務類別
-
[Service] 服務的關鍵,是服務的一些具體運行參數的設置
- Type=forking是後臺運行的形式
- User=users是設置服務運行的用戶
- Group=users是設置服務運行的用戶組
- PIDFile爲存放PID的文件路徑
- ExecStart爲服務的具體運行命令
- ExecReload爲重啓命令
- ExecStop爲停止命令
- PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]部分的啓動、重啓、停止命令全部要求使用絕對路徑,使用相對路徑則會報錯!
-
[Install] 部分是服務安裝的相關設置,可設置爲多用戶的
栗子
就拿tomcat爲栗子吧
首先
vim /usr/lib/systemd/system/tomcat.service
然後加入內容
[Unit]
Description=java tomcat project
After=tomcat.service
[Service]
Type=forking
User=users
Group=users
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
添加可執行權限
chmod 754 /usr/lib/systemd/system/tomcat.service
然後就可以使用了
systemctl start tomcat.service
常規的操作
systemctl is-enabled xxx.service //查詢服務是否開機啓動
systemctl enable xxx.service //開機運行服務
systemctl disable xxx.service //取消開機運行
systemctl start xxx.service //啓動服務
systemctl stop xxx.service //停止服務
systemctl restart xxx.service //重啓服務
systemctl reload xxx.service //重新加載服務配置文件
systemctl status xxx.service //查詢服務運行狀態
systemctl --failed //顯示啓動失敗的服務
systemctl list-unit-files|grep enabled //查看已啓動的服務列表
只能說倆字 niubi。