Имам Java приложение, работещо на linux сървър. Когато стартира, той записва идентификатора на процеса в "pidfile".
Когато го затворя, просто чета pid от този файл и го убивам:
kill -9 12345
Но други хора казват, че не е безопасно, вместо това ми предлагат да вградя малък http сървър и да осигуря http api за затваряне, като например:
http://localhost:8080/close
Когато искам да го затворя, трябва да го посетя:
curl http://localhost:8080/close
Работи, но е много скучно, все още предпочитам начина "id на процеса". Има ли някакъв начин да използвате идентификатора на процеса за безопасно затваряне на приложението?
Актуализация:
„Безопасно“ тук имам предвид, че мога да отменя някои изпълнявани задачи, които могат да записват файлове на диск и да затворя някои ресурси, преди да изляза.
kill -HUP
може да е малко по-хубав...) - person Anders R. Bystrup   schedule 15.11.2013