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' "
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.
# 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"
Tags bash process gnu-screen minecraft