我有一个运行在Linux服务器上的Java应用程序。当它开始时,它将进程ID记录到“pidfile”。有什么办法通过进程ID关闭Java应用程序?
当我关闭它,我只是从文件中读取的PID,并杀死它:
kill -9 12345
但其他人说,它是不是安全,相反,他们建议我到嵌入小型的http服务器,并提供HTTP API用于关闭,如:
http://localhost:8080/close
当我想关闭它,我需要访问它:
curl http://localhost:8080/close
它工作但很无聊,我仍然更喜欢“进程ID”的方式。有什么方法可以使用进程ID来安全关闭应用程序?
更新:
“安全”在这里,我的意思是我可以取消它可以将文件写入到磁盘中的一些正在运行的任务并在退出之前关闭一些资源。
取决于你的安全意味着什么?我猜“人们”是说为了让Java进程清理和关闭资源,但是如果这与你无关,那就不要打扰了(尽管'kill -HUP'可能会更好一些......) –
@ AndersR.Bystrup谢谢,我刚刚更新了我的问题 – Freewind