Pergunta

Eu tenho um servidor web básico que eu gerei na estrutura Mochiweb. Para começar, eu uso o start.sh Script que a estrutura gera automaticamente. Tudo funciona bem e o servidor é iniciado. Agora tenho mais um servidor Mochiweb que quero começar junto com o primeiro. Novamente, isso começa perfeitamente independente com seu start.sh roteiro.

Então, o que fiz foi criar um script chamando os scripts iniciais dos dois servidores Mochiweb a partir deste script como processos de fundo, algo como:

serverOne/start.sh &
serverTwo/start.sh &

Quando executo o script, os dois servidores parecem começar normalmente, mas imediatamente após o início, parecem receber um sinal de saída e desligar. Tenho a sensação de que isso se deve ao que o sistema operacional (Ubuntu) encerrar os processos que o arquivo de script principal gera para executar os dois scripts iniciantes. Ou poderia haver algum outro motivo? O que devo fazer para resolver isso? Como faço para iniciar os dois servidores com um único arquivo de script?

No momento, o arquivo de script sai com a última linha dizendo:

(nodeServer1@MyServ)1> *** Terminating erlang (nodeServer1@MyServ)
 .
 .
 .
(nodeServer2@MyServ)1> *** Terminating erlang (nodeServer2@MyServ)
Foi útil?

Solução

Consegui funcionar!

Eu adicionei um -noshell Argumento para o script inicial que foi gerado pela estrutura Mochiweb. E agora sou capaz de executar os dois scripts de início de outro script sem problemas. O problema anteriormente era que ele iniciou o shell ERL, que foi encerrado assim que o servidor da Web foi iniciado eventualmente desligando o servidor Mochiweb também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top