文章引言
Systemd 就是為了解決Linux 的啟動一直采用init
進(jìn)程問題而誕生的。它的設(shè)計目標(biāo)是,為系統(tǒng)的啟動和管理提供一套完整的解決方案。
根據(jù) Linux 慣例膝昆,字母d
是守護(hù)進(jìn)程(daemon)的縮寫。 Systemd 這個名字的含義叠必,就是它要守護(hù)整個系統(tǒng)外潜。
使用了 Systemd,就不需要再用init
了挠唆。Systemd 取代了initd
处窥,成為系統(tǒng)的第一個進(jìn)程(PID 等于 1),其他進(jìn)程都是它的子進(jìn)程玄组。
以下為 Systemd 架構(gòu)圖:
實例講解
新建程序目錄
mkdir -p /app/geeknr.com/test
進(jìn)入到test目錄
cd /app/geeknr.com/test
使用vim新建文件
vim api.service
文件內(nèi)容如下所示滔驾,可根據(jù)具體需要做更改
[Unit]
Description=api server
# After=network.target
[Install]
WantedBy=multi-user.target
[Service]
User=centos
WorkingDirectory=/app/geeknr.com/test
ExecStart=/app/geeknr.com/test/api
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
RestartSec=30s
退出編輯器保存文件
ESC 和 wq
接下來就是制作軟鏈谒麦,將文件映射到系統(tǒng)目錄
ln -s /app/geeknr.com/test/api.service /usr/lib/systemd/system
讓程序隨系統(tǒng)啟動生效
systemctl enable api.service
啟動程序
systemctl start api.service
停止程序
systemctl stop api.service
常用命令
# 相關(guān)操作
sudo systemctl <start|stop|status> api.service
# 使用centos用戶作為root權(quán)限
sudo su - centos
# 查看程序日志
sudo journalctl -fu api.service
附錄資料
關(guān)于我們
為程序員提供優(yōu)質(zhì)博文、實戰(zhàn)筆記哆致、開發(fā)資源绕德、學(xué)習(xí)資料內(nèi)容包括:區(qū)塊鏈、架構(gòu)摊阀、Golang耻蛇、Vuejs、Python胞此、Nodejs臣咖、C/C++函數(shù)庫等等。并不定期奉送各種福利漱牵。
歡迎訂閱:極客筆記Geeknr
我的名言:夢想還是要有的夺蛇,萬一實現(xiàn)了呢?