Centos
在 CentOS 6.6 中找不到守護程序功能
我正在嘗試為某些服務設置 init.d 腳本 - 讓它成為
less
我的腳本:#!/bin/bash -xv # description: read service #Source function library if [ -x /etc/rc.d/init.d/functions ];then . /etc/rc.d/init.d/functions fi RETVAL=0 LESS=/usr/bin/less PIDFILE=/var/run/read.pid start() { echo -n $"Starting $LESS service: " daemon /usr/bin/less RETVAL=$? echo $! > $PIDFILE; [ $RETVAL -eq 0 ] && touch /var/lock/subsys/LESS echo return $RETVAL } stop() { echo -n $"Shutdown $LESS service: " killproc /usr/bin/less rm -f $PIDFILE RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/LESS echo return $RETVAL } restart() { echo -n $"Restarting $LESS service: " killproc /usr/bin/less daemon /usr/bin/less } case "$1" in start) start ;; stop) stop ;; status) if [ `pidof /var/run/webreaderd.pid` ];then echo "Running" else echo "Not running" fi ;; restart|reload) stop start ;; *) echo $"Usage: $0 {start|stop|restart|reload|status}" exit 1 esac exit $?
但是在調試時
/etc/init.d/read.sh start
我得到了這個錯誤:line 15: daemon: command not found
儘管我的 . /etc/rc.d/init.d/functions 存在且不為空。如何使我的daemon
功能正常工作?
測試
-x
正在檢查文件是否存在並且是可執行的(或者在目錄遍歷/可搜尋的情況下)。您的函式文件可能沒有執行權限。
實際上,當您將其採購到目前腳本中時,它不需要對其具有執行權限。您可以在沒有測試的情況下包含它
. /etc/rc.d/init.d/functions
或包含它(如果存在)
if [ -e /etc/rc.d/init.d/functions ];then . /etc/rc.d/init.d/functions else echo "Some meaningful error message" exit 1 fi
如果它不存在並且您正在使用它所依賴的東西,您可能想要退出。