3

Я должен написать скрипт запуска и остановки для исполняемого файла jar (например, executetable.jar).

Как это сделать с помощью сценариев оболочки?

Я получил успех, чтобы сделать это для среды Windows с файлом .bat . Но не удалось написать сценарий оболочки для того же.

2 ответа2

2

Это простая версия: вы можете написать небольшой скрипт, как показано ниже (сохраните его как 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, после чего вы его используете.

1

Вам не нужно запускать отдельный скрипт, чтобы остановить задачу.

Заимствование из сценария Хастура:

#!/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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .