Tengo que escribir un script de inicio y detención para un archivo ejecutable (por ejemplo, ejecutable.jar).
¿Cómo hacerlo usando scripts de shell?
Tuve éxito al hacerlo para el entorno Windows con.murciélagoarchivo. Pero no puedo escribir un script de shell para el mismo.
Respuesta1
Esta es la versión simple: puedes escribir un pequeño script como el siguiente (guárdalo 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
Cuando ejecute este script con /bin/bash MyStart.sh
, imprimirá el PID de ese proceso en la pantalla.
De lo contrario, puede cambiar el atributo a MyStart.sh( chmod u+x MyStart.sh
) y ejecutarlo simplemente con ./MyStart.sh
.
Para detener el proceso puede escribir mediante línea de comando kill 1234
donde 1234 es el PID respondido por el script, o/bin/bash MyStop.sh
Recuerde eliminar el script MyStop.sh después de usarlo.
Respuesta2
No es necesario ejecutar un script independiente para detener la tarea.
Tomando prestado del guión 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)