O comando Start não retorna para o script upstart no Ubuntu?

0

Eu escrevi um script upstart chamado 'ts.conf' para um daemon e coloquei em / etc / init. Quando tento iniciar com

start ts

Espero uma mensagem de confirmação e também espero receber o prompt de volta, mas o terminal trava. Quando eu apertei ctrl-c eu recebo o prompt de volta. Se eu começar de novo, uma mensagem diz

start: Job is already running: ts

O servidor, no entanto, não está rodando, e eu posso encontrar o processo mono usando 'ps -ef'.

O script 'ts.conf' está localizado em / etc / init e é assim:

start on runlevel [2345]
stop on runlevel [016]
respawn
expect fork
script
  cd /home/ubuntu/Terraria
  /usr/bin/mono /home/ubuntu/Terraria/TerrariaServer.exe -worldpath /home/ubuntu/Terraria -world world1.wld 
end script

O servidor inicia bem se eu executar o comando manualmente a partir do prompt de comando. Alguém pode ver o que está errado com o meu script iniciante, ou entender por que nada parece acontecer?

Por favor, não que o texto acima esteja errado quando diz que posso encontrar o processo com ps -ef. Eu NÃO POSSO encontrar o processo usando ps.

    
por Henrik 07.09.2012 / 23:51

1 resposta

1

Você provavelmente tem vários problemas aqui:

1) expect fork . A seção Script continua esperando por um fork e fica parada esperando por ele.

2) O servidor não está chegando. A seção de script de inicialização é executada como root e não possui todo o ambiente. Você diz que funciona se você colar na linha de comando, porque você não é root e tem ambiente.

Se for esperado que o mono seja bifurcado para real, então também será corrigido 2 correções 1. Caso contrário, remova expect fork .

Veja o Cookbook Upstart no link para trabalhos do usuário, isso provavelmente resolverá seu problema 2.

    
por Tuminoid 13.09.2012 / 14:50