您好,我對編寫腳本非常陌生,我搜尋了很多,但我發現的只是具有完全訪問權限的腳本。我無權訪問 /etc。我在雲端的主機上工作,但我的存取權限有限,這就是我所有嘗試都失敗的原因。到目前為止我有這個:
#!/bin/sh
prog="supervisord"
prefix="/usr/local/"
exec_prefix="${prefix}"
prog_bin="${exec_prefix}/bin/supervisord -c /home/user/supervisor/supervisord.conf"
PIDFILE="/var/run/$prog.pid"
start()
{
echo -n $"Starting $prog: "
daemon $prog_bin --pidfile $PIDFILE
[ -f $PIDFILE ] && success $"$prog startup" || failure $"$prog startup"
echo
}
stop()
{
echo -n $"Shutting down $prog: "
[ -f $PIDFILE ] && killproc $prog || success $"$prog shutdown"
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
esac
但我總是收到這個錯誤:
Starting supervisord: script.sh: 27: script.sh: daemon: not found
script.sh: 28: script.sh: failure: not found
請幫忙,我不知道發生了什麼事...
答案1
看起來您的範例 ( init.d
) 腳本是從使用該程式來daemon
守護其他(非守護程式)程式的某個程式中獲得的,而您缺少該程式。
我沒有daemon
安裝(Ubuntu 12.04),而且您不需要它supervisord
。您可以--pidfile=FILE
直接在其自身上使用supervisord
,它會自行守護除非另有指示。
您應該檢查是否可以寫入/var/run/supervisord.pid
,或以其他方式指定不同的、可存取的位置。