一般範例:

自訂義mongodb服務

    vim  /usr/lib/systemd/system/mongodb.service
    [Unit]  
    Description=xiyoulibapi  
    After=network.target remote-fs.target nss-lookup.target  
       
    [Service]  
    Type=forking  
    PIDFile=/node.js/pid  
    ExecStart=/usr/local/bin/forever start /node.js/xiyoulib/bin/www  
    ExecReload=/usr/local/bin/forever restart /node.js/xiyoulib/bin/www  
    ExecStop=/usr/local/bin/forever stop /node.js/xiyoulib/bin/www  
    PrivateTmp=true  
       
    [Install]  
    WantedBy=multi-user.target  

開機服務管理

CentOS 7的服務systemctl腳本存放在:/usr/lib/systemd/,有系統(system)和用戶(user)之分,

/usr/lib/systemd/system/
/usr/lib/systemd/user/

像需要開機不登陸就能運行的程序,存在系統服務,即:/usr/lib/systemd/system/ 目錄下
每一個服務以.service結尾,一般會分為3部分:[Unit]、[Service]、[Install]

[Unit]

主要是對這個服務的說明,內容包括Description和After,Description用於描述服務,After用於描述服務類別

[Service]

是服務的關鍵,是服務的一些具體運行參數的設置,

Type=forking是後台運行的形式,

PIDFile為存放PID的文件路徑,

ExecStart為服務的具體運行命令,

ExecReload為重啟命令,

ExecStop為停止命令,

PrivateTmp=True表示給服務分配獨立的臨時空間

注意:[Service]部分的啟動、重啟、停止命令全部要求使用絕對路徑,使用相對路徑則會報錯!

[Install]

是服務安裝的相關設置,可設置為多用戶的

服務腳本按照上面編寫完成後,以754的權限保存在/usr/lib/systemd/system/目錄下,這時就可以利用systemctl進行配置
chmod 754 名稱.service

systemctl 配置命令

systemctl status mongodb.service // 查看mongodb啟動狀態

systemctl start mongodb.service // 啟動 mongodb

systemctl stop mongodb.service // 關閉 mongodb

systemctl enable mongodb.service // 開機啟動 mongodb 服務

systemctl disable mongodb.service // 開機關閉 mongodb 服務

官方文檔
https://wiki.archlinux.org/index.php/Systemd_(%E6%AD%A3%E9%AB%94%E4%B8%AD%E6%96%87)

Last modification:November 30, 2018
If you think my article is useful to you, please feel free to appreciate