J'essaie de créer un script simple pour le serveur TeamSpeak, mais je ne peux pas le faire fonctionner.
Quand je dis initctl start, il s'exécute mais ne se termine jamais ou n'émet même aucun message. Il en va de même pour l' arrêt .
Pour être sûr que je ne fais rien de mal, j'ai copié le script cron et essayé de l'exécuter, mais cela se produit de la même manière.
qu'est-ce que je fais mal ici?
MISE À JOUR:
voici mon script pour 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
J'ai essayé même avec le script le plus simple, et cela ne fonctionne pas non plus:
description "regular background program processing daemon"
start on runlevel [2345]
stop on runlevel [!2345]
expect fork
respawn
exec echo example
console output
Merci de votre aide.
Réponses:
il y a un certain nombre de bizarreries dans votre travail parvenu qui me font me gratter la tête.
1) emit n'est pas un programme que je connaisse, donc à moins que vous ne l'ayez ajouté au chemin système, cela cause probablement des erreurs. Voulez-vous dire 'echo'? Cela peut ne pas être utile non plus, car il ira à la console système qui peut ne pas être visible.
2) En supposant que la strophe `` emit '' fonctionne, vous dites `` attendez-vous à fork '', mais en fait, forkez deux fois . Une fois pour le «script», puis à nouveau lorsque le script teamspeak se bifurque en arrière-plan.
3) vous "su" d'exécuter le script, mais start-stop-daemon est en fait plus simple dans la plupart des cas:
Avec 11.10, vous n'avez pas besoin de faire le
chdir
script in, je ne sais pas si cela a été ajouté après la version de upstart que vous avez. Vérifiezman 5 init
le motchdir
De plus, des erreurs seront probablement signalées dans / var / log / syslog. Vous pouvez augmenter considérablement le niveau d'erreur en exécutant
man initctl
pour plus de niveaux de journal.la source