Shell Script para iniciar e parar um JAR executável em ambiente Linux

Shell Script para iniciar e parar um JAR executável em ambiente Linux

Eu tenho que escrever um script de início e parada para um jar executável (por exemplo, executável.jar).

Como fazer isso usando scripts de shell?

Tive sucesso ao fazer isso no ambiente Windows com.bastãoarquivo. Mas não consigo escrever um script de shell para o mesmo.

Responder1

Esta é a versão simples: você pode escrever um pequeno script como o abaixo (salve-o como MyStart.sh)

#!/bin/bash
java -jar executable.jar &      # You send it in background
MyPID=$!                        # You sign it's PID
echo $MyPID                     # You print to terminal
echo "kill $MyPID" > MyStop.sh  # Write the the command kill pid in MyStop.sh

Ao executar este script com /bin/bash MyStart.sh, ele imprimirá o PID desse processo na tela.

Caso contrário, você pode alterar o atributo para MyStart.sh( chmod u+x MyStart.sh) e executá-lo simplesmente com ./MyStart.sh.

Para interromper o processo você pode escrever por linha de comando kill 1234onde 1234 é o PID respondido pelo script, ou/bin/bash MyStop.sh

Lembre-se de excluir o script MyStop.sh depois de usá-lo.

Responder2

Você não precisa executar um script separado para interromper a tarefa.

Tomando emprestado do roteiro de Hastur:

#!/bin/bash
java -jar executable.jar &      # Send it to the background
MyPID=$!                        # Record PID
echo $MyPID                     # Print to terminal
# Do stuff
kill $MyPID                     # kill PID (can happen later in script as well)

informação relacionada