Что вы делаете, «закрывая работающий .jar»? Вы работаете в системе Un*x, и, следовательно, "kill -9" гарантированно уничтожит процесс И освободит все ресурсы, которые использует процесс (или ваша система Un*x не соответствует требованиям). , но я ни разу не видел).
Итак, как только вы отправите kill -9, программа Java, все ее потоки, все будет выполнено. Ни крюка выключения, ничего. Это как если бы вы дернули шнур питания.
Будет ли "kill -9" приемлемым для вас способом убить работающую Java-программу? Будет ли программа Java аккуратно перезапущена после того, как она была «убита -9»? (Он должен нормально перезапуститься, но это не всегда так).
Если настоящее убийство подходит, и если вы знаете, что .jar всегда запускается с использованием этой командной строки, и если вы знаете, что пользователь должен запускать только один такой .jar, вы можете сделать что-то вроде этого:
#!/bin/bash
kill -9 $(ps aux | grep java | grep dbConvert2 | awk '{print $2}')
java -jar '/home/fdqadmin/NetBeansProjects/dbConvert2/dist/dbConvert2.jar' --Terminal=true
Вы также можете пойти в java-идиосинкразическую страну и использовать «умную» команду, такую как «jps», но я бы предпочел остаться с мощными инструментами Un * x, большое спасибо :)
person
SyntaxT3rr0r
schedule
28.12.2010