У меня есть приложение Java, работающее на сервере Linux. Когда он запустился, он записал идентификатор процесса в «pidfile».
Когда я его закрываю, я просто читаю pid из этого файла и уничтожаю его:
kill -9 12345
Но другие люди говорят, что это небезопасно, вместо этого они предлагают мне встроить небольшой http-сервер и предоставить http API для закрытия, например:
http://localhost:8080/close
Когда я хочу закрыть его, мне нужно посетить его:
curl http://localhost:8080/close
Это работает, но очень скучно, я все еще предпочитаю способ «идентификатора процесса». Есть ли способ использовать идентификатор процесса для безопасного закрытия приложения?
Обновлять:
«Безопасно» здесь я имею в виду, что могу отменить некоторые запущенные задачи, которые могут записывать файлы на диск, и закрыть некоторые ресурсы перед выходом.
kill -HUP
может быть немного лучше...) - person Anders R. Bystrup   schedule 15.11.2013