CentOS6/7 配置守護進程( 二 )

其他選項:
ExecStart:啟動服務的命令ExecStartPre:啟動服務之前執行的命令ExecStartPost: 啟動服務之后執行的命令ExecReload:重啟服務執行時的命令ExecStop:停止服務時執行的命令ExecStopPost:停止服務之后執行的命令RestartSec:自動重啟服務間隔的秒數Restart:定義何種情況下會自動重啟服務,可能的值包括always(總是重啟)、on-success、on-failure、on-abnormal、on-abort、on-watchdogTimeoutSec:定義Systemd停止服務之前等待的秒數Environment:指定環境變量PIDFile:pid文件路徑PrivateTmp:true表示給服務分配獨立的臨時空間User:執行命令的用戶Group:執行命令的組3、[Install]區塊
[Install]區塊用來定義如何啟動,以及是否開機啟動 。
WantedBy:它的值是一個或多個Target,當前Unit激活時(enable)符號鏈接會放入/etc/systemd/system目錄下面以Target名 + .wants后綴構成的子目錄中RequiredBy: 它的值是一個或多個Target,當前Unit激活時(enable)符號鏈接會放入/etc/systemd/system目錄下面以Target名 + .required后綴構成的子目錄中Alias:當前Unit可用于啟動的別名Also:當前Unit激活時(enable),會被同時激活的其他Unit五、Target的概念
Target就是一個Unit組,包含許多相關Unit 。啟動某個Target的時候,Systemd就會啟動里面所有的Unit 。
傳統init啟動模式里面,有RunLevel的概念 , 跟Target的作用很類似 。不同的是,RunLevel是互斥的,不可能多個RunLevel同時啟動,但是多個Target可以同時啟動 。
Target的常用命令:
查看所有target下的unitsystemctl list-unit-files --type=target查看默認target,即默認的運行級別 。對應于舊的`runlevel`命令systemctl get-default設置默認的targetsystemctl set-default multi-user.target查看target下的unitsystemctl list-dependencies multi-user.target切換target,不屬于新target的unit都會被停止systemctl isolate multi-user.target六、自己配置一個
/lib/systemd/system/目錄中定義一個自己的testserver.service文件
[Unit]Description=testserver[Service]# 應用程序所在的文件目錄WorkingDirectory=/usr/local/src/testserver/ExecStart=/usr/local/src/testserver/testserverRestart=always# 如果服務崩潰 , 10秒后重新啟動服務RestartSec=10KillSignal=SIGINTSyslogIdentifier=testserverUser=root# Production:生產環境 Development:開發環境# Environment=ASPNETCORE_ENVIRONMENT=Development[Install]WantedBy=multi-user.target# 由此target觸發自啟動通過以下命令實現啟動
systemctl daemon-reload// 自動啟動systemctl enable testserver.service//立即啟動systemctl start testserver.service//狀態查看systemctl status testserver.service部分摘自
http://t.zoukankan.com/solohac-p-4154181.html
https://www.cnblogs.com/jkko123/p/12171572.html

推薦閱讀