jenkins自动杀掉衍生进程怎么解决

解决办法:

  1. 启动 Jenkins 的时候:加上 -Dhudson.util.ProcessTree.disable=true,也就是 java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war 或者 修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。需要重启jenkins生效
  2. 在后台进程前加上 BUILD_ID=dontKillMe,也就是 BUILD_ID=dontKillMe nohup npm start >/var/app/nohup.out 2>&1 & 或者在 execute shell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins杀死启动的进程

用了上面二个方法后,就解决jenkins自动杀npm进程的问题了.

shell实例:

#!/bin/bash

# 环境
ACTIVE=daily

# jar包本地maven仓库路径
JAR_PATH='/root/.m2/repository/com/test/0.0.1-SNAPSHOT/'

# 进程名
PNAME='test-0.0.1-SNAPSHOT.jar'

# 查询进程id并且杀掉
#ps -ef | grep $PNAME | grep -v grep | awk '{print $2}'  | xargs kill -9
PID=$(ps -ef | grep $PNAME | grep -v grep | awk '{print $2}')

echo "start pid: $PID"

kill -9 $PID

# 启动jar包
BUILD_ID=dontKillMe nohup java -Xms500m -Xmx500m -Xmn250m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError -jar $JAR_PATH/$PNAME --spring.profiles.active=$ACTIVE &

NEW_PID=$(ps -ef | grep $PNAME | grep -v grep | awk '{print $2}')

echo "start success,new pid: $NEW_PID"


echo "------------- end ---------------"
 
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值