Script de shell com tela iniciando vários comandos

1

Eu escrevi um script simples para lançar dois servidores de minecraft através da tela. Eu posso executá-lo bem, mas o problema é que ele atinge o primeiro comando e executa essa linha bem, mas, em seguida, entra na tela cria e vai para o servidor sem nunca lançar a segunda linha. Como posso forçá-lo a lançar os dois comandos?

Aqui está o script:

#!/bin/bash
#Launches minecraft servers

#Plugin Test Server
screen -S PluginTest java -Xms1024M -Xmx1024M -XX:MaxPermSize=128M -jar /home/kalenpw/TestWorld/spigot-1.10.jar

#Khalidor Server
screen -S Khalidor java -Xms8192M -Xmx9216M -XX:MaxPermSize=128M -jar /home/kalenpw/KhalidorServer/spigot-1.10.jar

O que acontece é que o primeiro PluginTest é executado corretamente, mas a segunda linha do Khalidor nunca é executada.

    
por kalenpw 02.09.2016 / 23:34

1 resposta

3

Se você adicionar "& amp;" ao final do primeiro comando, ele permitirá que o segundo comando seja executado. Então mude o primeiro comando para:

screen -S PluginTest java -Xms1024M -Xmx1024M -XX:MaxPermSize=128M -jar /home/kalenpw/TestWorld/spigot-1.10.jar &

O '& amp;' faz com que o comando seja executado em segundo plano. Se você adicionar um ao final do segundo comando, retornará a um prompt após executar o script e ambos os comandos serão executados em segundo plano. Você poderá vê-los executando o comando 'jobs'.

    
por darkeale 02.09.2016 / 23:45