要怎樣寫一個服務:他能夠
在一開機啟動、
不易死掉(你可以寫 script 一直啟動他)、
fork() 後終止父行程並和呼叫的終端機(TTY)脫離關係?
首先,我們可以寫個服務(執行檔或是一個 script),處理我們要做的事。
接著,我們再準備一個script,放到正確的位置。而這份草稿他的目的最主要就是: 告訴系統,在一開機啟動我們的服務!
以下最主要就是介紹這個 script 該如何寫:
.Method 1: traditional
1. WRITE: /etc/init.d/triggerd
to run script or daemon: $TRIGGERD_HOME/bin/triggerMyService.sh
#!/bin/bash
start_triggerd=$TRIGGERD_HOME/bin/triggerMyService.sh
stop_triggerd=$TRIGGERD_HOME/bin/triggerMyService.sh
start() {
echo -n “Starting MyService”
}
stop() {
echo -n “Shutdown MyService”
}
#how we were called
case “$1” in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 10
start
;;
*)
echo “Usage: $0 {start|stop|restart}”
esac
exit 0
2. chmod 777 /etc/init.d/triggerd
.Method 2: systemctl
1. 建立一個名為 triggerd.service 的系統服務指令碼
vim /usr/lib/systemd/system/triggerd.service
[Unit]
Description=triggerMyService.sh
[Service]
Type=forking
PIDFile=…
Environment=CATALINA_HOME=/usr/local/triggerMyService.sh
ExecStart=/usr/local/triggerMyService.sh start
ExecStop=/usr/local/triggerMyService.sh stop
User=…
Group=…
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2. 重新載入一下配置
systemctl daemon-reload
3. 設定允許開機自啟動
systemctl enable triggerd
#啟動服務
systemctl start triggerd
ref.
centos7下配置Tomcat開機啟動(service方式和daemon方式)
Linux systemd 寫 可自動啟動的 Daemon Service