V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yangyuhan12138  ›  全部回复第 9 页 / 共 14 页
回复总数  267
1  2  3  4  5  6  7  8  9  10 ... 14  
2020-04-18 15:58:26 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@ps1aniuge 看了一下 这是啥语法...看起来不像 shell 啊 能同时在 win 和 linux 上跑?
2020-04-18 15:55:01 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@Foxkeh
@oneisall8955
正好问一下 做成系统服务了 没办法加 javaagent 了咋办 如 skywalking 那个 agent 的 jar 包会从相对目录里去找插件 但是做成系统服务之后他就找不到插件了
2020-04-17 20:25:03 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@zsd6918 但他确实是需要手动传的参数呀 每个项目的启动参数都不一样
@james122333 比如呢
2020-04-17 17:34:54 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@ybnsjl 哈哈哈哈 当时故意搞的 黄金端口嗷
2020-04-17 14:00:31 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@zydrsnuo 中间那段比较乱的是 执行的效果 我想把那个执行流程粘出来 没想到 格式是这样....编辑的时候还好好的 我没有预览 不好意思 下次注意
2020-04-17 13:58:47 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@zydrsnuo 对 就是这个原因 所以他自杀了
2020-04-17 13:39:46 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@ETiV 我找到问题了 他自杀了 ... 如果第三个参数为 java 的话是满足他的 grep 的 所以他自己杀了自己
ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'
但是如果第三个参数不包含 java 就没事 不满足这个 grep
2020-04-17 13:27:43 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@ETiV 关键是 stop 里 根本没用到第三个参数 这就是最诡异的地方
2020-04-17 13:27:13 +08:00
回复了 yangyuhan12138 创建的主题 Java shell 脚本灵异事件 求大神帮忙分析一下
@ETiV 做了排除的脚本里 现在问题可以简单描述为
/bin/bash -x /opt/8848/springboot.sh stop /opt/8848/dfepay-api-1.0.0.jar java 有问题 如果第三个参数不加 或者传其他的都没问题 就是传 java 就会有问题
2020-03-10 18:10:15 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@Kyle18Tang 本质上和自己写脚本没有区别, 只是官方写了一段脚本让我们可以更方便的做成系统服务
2020-03-10 18:06:41 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@Kyle18Tang 我把生产上的服务变成了 service 启动 ,观察后发现还是有这个问题 ,执行完钩子函数后应用没有停止,因为 service stop 有超时时间所以一段时间后会强制结束进程
2020-03-04 17:26:30 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
正常点的那台机器上只有三个线程不是 daemon 都处于 waiting 状态

"DestroyJavaVM" #37 prio=5 os_prio=0 tid=0x00007f8d38008800 nid=0x49e waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

"container-0" #20 prio=5 os_prio=0 tid=0x00007f8d39033800 nid=0x4bb waiting on condition [0x00007f8ce34f9000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:427)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer$1.run(TomcatEmbeddedServletContainer.java:177)



"Thread-3" #36 prio=5 os_prio=0 tid=0x00007f8ca8001000 nid=0x2e4e waiting on condition [0x00007f8ca0dda000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000086ede2a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at java.util.concurrent.ThreadPoolExecutor.awaitTermination(ThreadPoolExecutor.java:1475)
at com.dooffe.epay.common.api.DooffeEpayApiApplication$GracefulShutdown.shutDownThreadPool(DooffeEpayApiApplication.java:79)
at com.dooffe.epay.common.api.DooffeEpayApiApplication$GracefulShutdown.onApplicationEvent(DooffeEpayApiApplication.java:69)
at com.dooffe.epay.common.api.DooffeEpayApiApplication$GracefulShutdown.onApplicationEvent(DooffeEpayApiApplication.java:53)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:991)
at org.springframework.context.support.AbstractApplicationContext$2.run(AbstractApplicationContext.java:929)
- locked <0x0000000085fe8e38> (a java.lang.Object)
2020-03-04 17:22:54 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@Lighfer https://github.com/smartisanyyh/gracefulshutdowntrace 麻烦帮忙看看呢... 我看了下除掉 daemon 线程 有台机器上有些 rabbitmq 的连接没有关,另一台机器好像要正常许多 但是进程也没有掉
2020-03-04 17:02:12 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@Lighfer 终于被我逮住了 又发生了两次 我 jstack 看了 我把文件 down 下来了 怎么分享出来给大家一起看呢 V2EX 咋分享文件啊
2020-02-29 15:38:26 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@dzh213 可能是还有别的线程池没关到吧 我也觉得 但具体是哪个有点不好找
2020-02-29 15:06:43 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@Kyle18Tang 对啊 这个.service 文件里有 stop 的命令,但这个 stop 命令不还是自己写的吗 他只是把你写的 stop 命令执行了一下
2020-02-29 15:04:58 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@AmmeLid 收到 我下周再试试 这个不是必然发生的 测试环境基本没有过 生产我们是双机 昨天测试的时候一台没 kill 掉 一台 kill 掉了
2020-02-28 17:12:24 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
systemctl 下边的停止命令还是自己写的啊 还不是得写 kill-15 应该没啥区别吧
@Kyle18Tang
2020-02-28 16:50:27 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@Kyle18Tang 我们并没有把他做成系统服务 稍后我可以试试
2020-02-28 16:49:52 +08:00
回复了 yangyuhan12138 创建的主题 程序员 springboot 优雅重启 钩子函数执行完成之后进程未消失
@dzh213 有没有办法看 java 中还在运行的所有线程啊 我这边没有单独开其他线程了 也没有定时任务
1  2  3  4  5  6  7  8  9  10 ... 14  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 21:14 · PVG 05:14 · LAX 13:14 · JFK 16:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.