app java em execução na tela inicia um processo e este filho não está na tela

2

Estou executando um servidor spigot na tela, é um aplicativo java. Quando ele falha e falha, ele chama um script de reinicialização como uma última ação.

Este script contém apenas java -jar spigot.jar . O problema é sempre que o servidor fica inativo, ele se reinicia fora da tela . Não é bom, quero que o processo reiniciado seja executado na mesma tela.

Eu tentei o bom e velho truque screen -S test -p 0 -X stuff 'java -jar spigot.jar^M' , mas ele enviou a string para o console do aplicativo java, não para a linha de comando.

Então eu tentei separar esta chamada do pai, este truque teoricamente faz isso: (sleep 20&);java -jar spigot.jar , mas nenhum resultado.

Então ... eu realmente não sei o que fazer. Por favor, recomendo.

    
por Lorinc Nyitrai 14.06.2014 / 16:39

2 respostas

1

it sent the string to the java app console, not the command line.

O java precisa de algum tempo para sair.
Reinicie o script bash -c "sleep 20; screen -S test -p 0 -X stuff 'java -jar spigot.jar^M' "

    
por 22.06.2014 / 14:12
0
# Creates detached session named spigot
screen -S spigot -d -m
# Runs "java -jar spigot.jar" in spigot session
screen -S spigot -X stuff "java -jar spigot.jar^M"
    
por 19.06.2014 / 14:15