我有一个在 linux 服务器上运行的 Java 应用程序。当它启动时,它会将进程 ID 记录到“pidfile”中。
当我关闭它时,我只需从该文件中读取 pid,然后将其杀死:
kill -9 12345
但是其他人说不安全,建议我嵌入一个小型的http服务器,并提供一个http api用于关闭,例如:
http://localhost:8080/close
当我想关闭它时,我需要访问它:
curl http://localhost:8080/close
它有效但很无聊,我仍然更喜欢“进程ID”的方式。有什么方法可以使用进程 ID 安全地关闭应用程序?
更新:
“安全”在这里我的意思是我可以取消一些正在运行的任务,这些任务可能会在退出之前将文件写入磁盘并关闭一些资源。