안녕하세요, 저는 스크립팅이 처음입니다. 많이 검색했지만 찾은 것은 전체 액세스 권한이 있는 스크립트뿐이었습니다. /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
귀하의 example( ) 스크립트는 이를 사용하여 다른(데몬이 아닌) 프로그램을 데몬화하는 데 사용하는 일부 프로그램에서 얻은 것 같지만 daemon
해당 스크립트가 누락되었습니다.
나는 그것을 설치하지 않았 daemon
으며 (Ubuntu 12.04) 필요하지 않습니다 supervisord
. 당신은 --pidfile=FILE
그것을 그 자체로 직접 사용할 수 supervisord
있으며 그것은 스스로를 보호할 것입니다달리 지시하지 않는 한.
쓰기가 가능한지 확인 /var/run/supervisord.pid
하거나 액세스 가능한 다른 위치를 지정해야 합니다.