杀死 Java 程序

2018-09-12 14:53:43 +08:00
 choice4

通过 java -jar 启动的项目要如何杀死呢
占用命令行的话可以直接 ctrl-c 掉 但是如果启动加了 &呢 linux 上 kill -9 windows 呢? 或者说 java 有命令可以对 java -jar 跑起来的程序杀掉吗 kill -9 好像是粗暴了一点

5095 次点击
所在节点    Java
25 条回复
panpanpan
2018-09-12 14:59:23 +08:00
kill -15
lastpass
2018-09-12 15:08:33 +08:00
→_→目前我是这样实现的。JAVA 去监听某个指定文件下是否创建 /更新了某个文件,监听之后执行 destroy 方法,把该 flush 给 flush,该 close 的 close,然后 system.exit()
lastpass
2018-09-12 15:12:34 +08:00
并不清楚 tomcat 如何用 bat 或 sh 实现 shutdown 的。只能粗暴的使用监听了。╮(╯_╰)╭
zhenjiachen
2018-09-12 15:20:05 +08:00
wenzhoou
2018-09-12 15:32:59 +08:00
注册成服务。参考这个文档最后一部分。http://www.ityouknow.com/springboot/2017/05/09/springboot-deploy.html
zhangwugui
2018-09-12 15:33:52 +08:00
不好意思,我看成了杀死 Java 程序员,吓死我了。
andylsr
2018-09-12 15:39:48 +08:00
@zhangwugui 可怕😂
zydxn
2018-09-12 15:50:16 +08:00
ps auxw |grep ******** |grep -v grep |awk '{print $2}' |xargs kill -9
choice4
2018-09-12 15:57:31 +08:00
@wenzhoou 这个感觉不错
Narcissu5
2018-09-12 16:05:47 +08:00
优雅停机需要程序自己支持,不管什么语言这个是一定的。Springboot 就提供了对优雅停机的支持。另外通过 JMX 也是比较好的一种方式
zhangwugui
2018-09-12 16:37:35 +08:00
@andylsr 哈哈哈哈,午睡没睡好,结果眼花了哈哈哈
ArthurKing
2018-09-12 16:47:56 +08:00
一直都是 kill -9,反正程序从来没嫌过我粗暴
sxul07
2018-09-12 17:14:04 +08:00
nginx 应该是类似命名管道的吧 监听文件有点骚了
LukeChien
2018-09-12 19:53:34 +08:00
tomcat 有个管理端口可以发送关闭命令
likuku
2018-09-12 19:56:57 +08:00
实在不行,可以拔电源线 /远程控制卡关机。
sampeng
2018-09-12 20:28:46 +08:00
就是优雅停机啊。。。
楼上 4,5 楼。本质上都是 kill。只是好看和方便一点。
真正的优雅停机。需要程序加一个 shutdown 的接口或者方式。2 楼的就算一种。
高并发和有强一致要求的,一定要有这个玩意。不然停机的瞬间,新用户进来搞一半就不好了
expy
2018-09-12 20:38:35 +08:00
程序自己要处理 SIGINT 吧,不然还是得强制退出。
broadliyn
2018-09-12 20:44:01 +08:00
spring boot 提供有 management 接口来优雅下蛋的。
realpg
2018-09-12 20:56:16 +08:00
@lastpass #3
没研究过 估计是 pid 文件 以及 signal
zhenjiachen
2018-09-12 21:18:44 +08:00
@sampeng 把 Spring boot 打包成可执行文件,是 Spring boot 已经实现了 shutdown 了,当传入 ztop 的时候会调用 shutdown 事件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488552

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX