Upstart 서비스는 시작되지 않거나 완전히 중지되지 않습니다.

Upstart 서비스는 시작되지 않거나 완전히 중지되지 않습니다.

Teampeak 서버를 위한 간단한 시작 스크립트를 만들려고 하는데 작동하지 않습니다.

내가 말할 때initctl 시작단지 실행되기만 하고 완료되지 않거나 심지어 메시지도 내보내지 않습니다. 같은 일이 일어나고 있습니다멈추다.

제가 잘못한 일이 없는지 확인하기 위해 cron 스크립트를 복사하여 실행해 보았지만 동일한 현상이 발생합니다.

내가 여기서 뭘 잘못하고 있는 거지?

업데이트:

TS3에 대한 내 스크립트는 다음과 같습니다.

# myservice - myservice job file
description "my service description"
author "Me <[email protected]>"

# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Essentially lets upstart know the process will detach itself to the background
expect fork

# Start the process
script
       emit going into TS3 dir
       chdir /home/danizmax/teamspeak3-server_linux-x86/
       emit starting TS3
       exec su -c "/home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh start" danizmax &
       emit done
end script

가장 간단한 스크립트로도 시도했지만 작동하지 않습니다.

description     "regular background program processing daemon"

start on runlevel [2345]
stop on runlevel [!2345]

expect fork
respawn

exec echo example
console output

도움을 주셔서 감사합니다.

답변1

당신의 신생 직장에는 머리를 긁적이게 만드는 이상한 점이 많이 있습니다.

1) 방출은 내가 아는 프로그램이 아니므로 시스템 경로에 추가하지 않으면 오류가 발생할 가능성이 높습니다. '에코'를 의미했나요? 보이지 않는 시스템 콘솔로 이동하므로 도움이 되지 않을 수도 있습니다.

2) 'emit' 스탠자가 작동한다고 가정하면 'expect fork'라고 말한 다음 실제로는 포크됩니다.두 배. '스크립트'에 대해 한 번, 그리고 팀스피크 스크립트가 배경 자체로 포크될 때 다시 한 번.

3) 스크립트를 실행하기 위해 "su"하지만 실제로는 대부분의 경우 start-stop-daemon이 더 간단합니다.

11.10에서는 in 스크립트를 수행할 필요가 없습니다. chdir어떤 버전의 upstart 이후에 해당 스크립트가 추가되었는지 확실하지 않습니다. man 5 init단어를 확인해보세요chdir

start on runlevel [2345]
stop on runlevel [^2345]

respawn

chdir /home/danizmax/teamspeak-server
expect fork

exec start-stop-daemon --start --user danizmax --group danizmax --exec /home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh -- start

또한 /var/log/syslog 에 오류가 보고될 가능성이 높습니다. 다음을 실행하면 오류 수준을 상당히 높일 수 있습니다.

initctl log-priority info

man initctl더 많은 로그 수준을 보려면

관련 정보