Мне нужно написать скрипт запуска и остановки для исполняемого jar-файла (например, executable.jar).
Как это сделать с помощью скриптов оболочки?
Мне удалось сделать это для среды Windows с.летучая мышьфайл. Но не смог написать скрипт оболочки для того же самого.
решение1
Это простая версия: вы можете написать небольшой скрипт, как показано ниже (сохраните его как 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
При запуске этого скрипта /bin/bash MyStart.sh
на экран будет выведен PID этого процесса.
В противном случае вы можете изменить атрибут на MyStart.sh ( chmod u+x MyStart.sh
) и запустить его просто с помощью ./MyStart.sh
.
Чтобы остановить процесс, вы можете написать в командной строке, kill 1234
где 1234 — это PID, на который ответил скрипт, или/bin/bash MyStop.sh
Не забудьте удалить скрипт MyStop.sh после его использования.
решение2
Вам не нужно запускать отдельный скрипт для остановки задачи.
Заимствование из сценария Хастура:
#!/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)