Comportamento inesperado ao usar a tela com o init.d

1

Eu adicionei um script de shell na inicialização com o seguinte comando:

su - root -c "/usr/bin/screen -dmS SomeServer java -jar /home/SomeServer.jar"

Quando eu normalmente executo este comando, screen é criado & trabalho. Mas quando eu uso screen -ls após a reinicialização, não vejo nada.

Coisa interessante é SomeServer.jar ter servidor http embutido, quando eu uso netstat eu posso ver um processo Java escutando nesta porta.

Estou usando o Ubuntu 14.04.

    
por Madhurendra Sachan 09.11.2014 / 06:06

2 respostas

0

Eu não consigo ver como o comando acima poderia estar funcionando no Ubuntu: su 'ing para root irá solicitar a senha do root. Boa sorte para encontrar isso no Ubuntu.

O comando acima deve estar em seu lugar:

 sudo /usr/bin/screen -dmS SomeServer java -jar /home/SomeServer.jar

sem aspas. Eu também tenho que perguntar: se você criou um script de inicialização para fazer isso, por que você precisa executar o comando acima como root? Ele será executado automaticamente, mesmo se você incluir a linha acima, sem o qualificador sudo , dentro de /etc/rc.local , uma maneira rápida e suja de começar isso na inicialização.

Eu não posso testar o comando acima, então estou contando com você para me dizer se é necessário mais consertos.

    
por 14.11.2014 / 18:37
0

Supondo que "reinicializar" não foi um tipo errado em sua postagem, seu problema é que as telas não persistem durante os ciclos de reinicialização.

Se isso foi um erro e você não foi realmente reinicializado, é provável que você não esteja executando screen -ls , já que o root-screen mostrará apenas sessões de tela ativa para o usuário atual. Use sudo su - para mudar para a raiz e tente novamente.

    
por 19.11.2014 / 00:22