Атм, мне нужно случайным образом начать и остановить (из-за отсутствия лучшего слова в моей голове) работу. Я запускаю его, набирая java -jar foo.jar
и останавливая его, выясняю его pid и убиваю его. Убийство не приведет к потере или повреждению данных или чему-либо еще, только к вашему сведению. Выполнение этих двух шагов утомительно, поскольку первую команду необходимо выполнить из определенного каталога, например /usr/share/jetty
(уничтожение можно выполнить из любого места).
Итак, я подумал что-то вроде
service foo start
и service foo stop
, чтобы запускать и останавливать службы. Возможно ли это, а главное правильнее? Есть ли другое решение?
Спасибо.
Да Выскочка является довольно хорошим вариантом для этого. Просто создайте новый файл:
sudoedit /etc/init/my-jetty-jar.conf
Можно изменить имя файла на то, что Вы любите, но затем засовываете это в него:
description "Run my jetty jar"
# no start option as you might not want it to auto-start
# This might not be supported - you might need a: start on runlevel [3]
stop on runlevel [!2345]
# if you want it to automatically restart if it crashes, leave the next line in
respawn
script
cd /usr/share/jetty
su -c "/usb/bin/java -jar /path/to/foo.jar" nobody
end script
Некоторые примечания об этом, я su
луг никому для безопасности. Вам, возможно, понадобился бы он к su
в другую учетную запись, но, вероятно, не рекомендуется, чтобы это работало как root
.