现有 springboot.sh 用来启动和停止应用的 如 /opt/8848/springboot.sh restart /opt/8848/dfepay-api-1.0.0.jar
现在需要在启动应用时加参数 所以我为脚本加了一个参数 nohup java $3 -jar $SpringBoot > /dev/null 2>&1 &
启动脚本就变为 /opt/8848/springboot.sh restart /opt/8848/dfepay-api-1.0.0.jar -Dxxxx
这些都没问题
现在 我们要使用 skywalking 所以需要指定 javaagent
神奇的事情发生了 只要最后一参数里包含 java stop 的时候就会出问题
boot_id=ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'
chqtvl-ertwxt-a01:/opt/8848 # /opt/8848/springboot.sh restart /opt/8848/dfepay-api-1.0.0.jar jav ps -ef |grep java|grep /opt/8848/dfepay-api-1.0.0.jar|grep -v grep|awk '{print }'
Stop /opt/8848/dfepay-api-1.0.0.jar, ^C chqtvl-ertwxt-a01:/opt/8848 # ^C chqtvl-ertwxt-a01:/opt/8848 # /opt/8848/springboot.sh restart /opt/8848/dfepay-api-1.0.0.jar java ps -ef |grep java|grep /opt/8848/dfepay-api-1.0.0.jar|grep -v grep|awk '{print }' 12873 12880 Stop /opt/8848/dfepay-api-1.0.0.jar,12873 12880 Terminated
会找到两个不存在的进程 然后报错
有没有大佬知道咋回事 第三个参数只要不包含 java 就没问题
关键是 kill 的过程中跟第三个参数一点关系都没有呀 根本没使用到第三个参数 为啥会这样呢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.