Linux應用程式以服務方式(Service)執行,並且保證宕機能重啟。
阿新 • • 發佈:2019-02-19
ubuntu 自帶了一個daemon 程式, 執行 apt-get install daemon,
然後就被安裝到了 /usr/bin/daemon,
下面我們建立一個測試指令碼:
#!/bin/bash
echo $(date)" Starting Script" >> /tmp/output
while true
do
echo $(date) >> /tmp/output
sleep 5
done
執行:
#daemon -r /root/test.sh
我們發現後臺可以啟動了兩個程序:
[root@terminal40162 ~] ps -ef | grep test root 11421 1 0 14:11 ? 00:00:00 daemon -r /root/test.sh root 11422 11421 0 14:11 ? 00:00:00 /bin/bash /root/test.sh
當執行 kill 11422 之後, /bin/bash /root/test.sh 這個程序又冒出來了。
這就是deamon 在後臺監控起的作用。
接著測試服務啟動,停止,重啟:
service testd start
service testd stop
service testd restart
該服務加入開啟啟動(UBUNTU貌似無效):
chkconfig --add testd
檢查是否已經設定成功:
[root@lvs01 tmp]# chkconfig --list testd testd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ubuntu貌似無該命令 chkconfig, 不過不用著急,可以手動新增軟連結:
ln /etc/init.d/testd /etc/rc0.d/S0test -s ln /etc/init.d/testd /etc/rc1.d/S0test -s ln /etc/init.d/testd /etc/rc2.d/S0test -s ln /etc/init.d/testd /etc/rc3.d/S0test -s ln /etc/init.d/testd /etc/rc4.d/S0test -s ln /etc/init.d/testd /etc/rc5.d/S0test -s ln /etc/init.d/testd /etc/rc6.d/S0test -s
重啟ubuntu, 服務已經啟動:
root@dns066:~# service testd status
daemon: TEST is running (pid 1106)
搞定, 下班!