1. 程式人生 > >jenkins ssh 自動殺掉衍生程序 linux centos

jenkins ssh 自動殺掉衍生程序 linux centos

首先網上針對該問題的解決方案:

1.啟動 Jenkins 的時候加上 -Dhudson.util.ProcessTree.disable=true,也就是 java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war

2.在後臺程序前加上 BUILD_ID=dontKillMe,也就是 BUILD_ID=dontKillMe nohup npm start >/var/app/nohup.out 2>&1 &


經過我個人嘗試,以上方法不能解決問題,而我的解決方案如下:

前提:

1.Jenkins安裝完成。

2.SSH地址配置正確。

3.安裝了 Publish Over SSH 外掛

操作:

1.job裡設定SH執行命令的地址


2.編寫temp.sh內容

#!/bin/bash

nohup /usr/local/jdk1.8.0_102/bin/java -jar /usr/local/program/project/app.jar > /usr/local/program//project/app.log 2>&1  &

proc_name="app.jar"

name_suffixx="\>"

proc_id=`ps -ef|grep -i ${proc_name}${name_suffixx}|grep -v "grep"|awk '{print $2}'`

echo ${proc_name}" pid:"

echo ${proc_id[@]}

注意其中的絕對路徑。

3.執行構建。