How to write a daemon?
要怎樣寫一個服務:他能夠
在一開機啟動、
不易死掉(你可以寫 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
[Install]
WantedBy=multi-user.target
2. 重新載入一下配置
systemctl daemon-reload
3. 設定允許開機自啟動
systemctl enable triggerd
#啟動服務
systemctl start triggerd
ref.