1. 程式人生 > >jenkins中通過execute shell啟動的程序會被殺死的問題(其它程序)

jenkins中通過execute shell啟動的程序會被殺死的問題(其它程序)

   今天在做自動化jenkins部署,遇到了一個問題.我在執行shell指令碼的時候,會把其它程序也殺死,而且本程序也不再執行,查詢資源,找到了一篇文章。


  這是因為Jenkins預設會在Build結束後Kill掉所有的衍生程序。

解決方法:

1.重設環境變數build_id

  在execute shell輸入框中加入BUILD_ID=DONTKILLME,即可防止jenkins殺死啟動的java程序

  

  2.在啟動jenkins 的時候禁止jenkins殺死衍生程序(此方法未測試,也是解決辦法之一)

    修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。需要重啟jenkins生效

    此方法配置一次後,所有的job都無需設定BUILD_ID,就能夠防止jenkins殺死啟動的java程序

圖片原url:https://wiki.jenkins.io/display/JENKINS/ProcessTreeKiller


相關推薦

jenkins通過execute shell啟動程序殺死的問題(其它程序)

   今天在做自動化jenkins部署,遇到了一個問題.我在執行shell指令碼的時候,會把其它程序也殺死,而且本程序也不再執行,查詢資源,找到了一篇文章。   這是因為Jenkins預設會在Build結束後Kill掉所有的衍生程序。 解決方法: 1.重設環境變數bu

jenkins通過Execute shell通過scp/ssh命令,將一臺機器專案遠端拷貝到另外一臺機器,修改檔案內容

1、前置條件 安裝expect yum install expect -y 2、在Execute shell中編寫如下命令 在jenkins中執行以下命令的時候,前提條件是現在jenki

Jenkins通過shell不能啟動Tomcat和啟動後進程殺死的問題

    工作中搭建基於Jenkins+Svn+Maven+Tomcat的持續整合環境,結合shell實現自動編譯部署和測試,其中Jenkins是通過Tomcat啟動的。 問題一、Tomcat無法啟動 在搭建過程中出現一個現象,自動編譯,停止專案Tomcat,war包複製等

通過adb shell 啟動APP方法

star pac resolve pre 搜索 stop ack xxx 應用apk 先列出手機上所有應用信息: adb shell dumpsys package > ./package.txt 從中找出你要的APP,重點關註 Activity Resolver T

Jenkins pipeline後臺tomcat啟動不起來問題解決辦法

在你的啟動shell 指令碼(即jenkins呼叫的指令碼)加入以下內容: #!/bin/bash source /etc/profile export BUILD_ID=dontkillme   TOMCAT_PATH=/data/hkd_server/apache-tomcat

在命令列通過adb shell am broadcast傳送廣播通知

adb shell am broadcast 後面的引數有: [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]  [-c <CATEGORY> [-c <CATEGORY>] ...]  [-e|--es

Android通過其他APP啟動Activity的四種方式

提示:在啟動一個Activity前進行必要的存在檢測很有必要,以免程式意外崩潰。 第一種:通過applicationId與package+activityPath applicationId告訴系統活動在那個App內,進入App內就需要類路徑找具體的Activity。

Tomcat或Tomcat外掛啟動不了 [Eclipse通過Debug模式啟動Tomcat,導致Eclipse卡死]終極解決方案

作為一名開發者,我們在實際開發工作中通過Debug模式啟動Tomcat,進行程式碼除錯和錯誤跟蹤是必不可少的技能,  我們也經常遇到Tomcat無法啟動的問題,導致Tomcat無法啟動的原因後很多,有很多是因為tomcat安裝配置的原因, 本文針對在Eclipse中使用To

Service啟動方式,如何保證Service不殺死程序等級,IntentService

一、Service 類的啟動 ,有兩種方法:       •Context.startService()        • Context.bindService()      1. 在同一個應用任何地方呼叫startService() 方法就能啟動 Service

window下使用cmd檢視端口占用的程序,並殺死程序

做專案的時候經常會遇到“address already in use”的情況,此時可以選擇使用dos命令將該程序殺死。 首先,查詢埠對應的程序,使用命令(以程序號8080為例):netstat -aon|findstr "8080"      其中9532是程序

安卓守護程序,使你的程序殺死

是這個情況,前幾天在騰訊公開課看到的,確實不錯,首先我先說下怎麼實現的? **實現思路:**建立A,B兩個服務,然後同時啟動A、B服務,雙程序守護,當然要另開一個程序,通過AIDL實現跨程序通訊,在A、B服務中的onStartCommand方法中,互相繫結對方,然後我們想

Mac下根據程序名定時殺死/守護程序方式重啟程序

以Mac下殺死和重啟pycharm程式為例編寫指令碼,使用的是python3.6環境 一、殺死程序 ps -ef | grep pycharm | awk '{print $2}' | xargs kill -9  # ps -ef | grep pycharm |

android開發:保持程序殺死類似微信QQ那種

從網路上整理的資料,不是個人見解,後續如果有新的發現,我會繼續追蹤。 1Service設定成START_STICKY,kill 後會被重啟(等待5秒左右),重傳Intent,保持與重啟前一樣 2​通過 startForeground將程序設定為前臺程序,做前

android 程序防止殺死

每個公司都想把自己的app時時刻刻執行在使用者的手機上面,就算當用戶點選清理應用時,也能夠不被殺死。這種app有幾個典型的,就是微信,QQ,支付寶這類的。 網路上面,很多人提出各種方法: 1.提升應用等級 2.重啟應用 3.守護程序 …… 實測,沒有

Jenkins——應用篇——如何解決execute shell啟動程序在Job退出時殺死問題

在部落內部時不時的會有同學問一為什麼在execute shell中不能啟動tomcat、為什麼在windows batch中不能啟動tomcat等問題,其實大部分情況下不是不能啟動,而是啟動後隨著job結束程序被殺死,造成不能啟動的假象,這一點從tomcat的日誌中可以看來,

jenkins 部署 並執行npm run dev 專案時,execute shell自動結束程序問題

使用 jenkins 部署 vue (npm run dev)專案時,部署狀態是顯示部署成功,但是服務沒有成功啟動,在做程序服務監控的時候發現,jenkins部署時候服務也啟動成功了,但是jenkins部署成功後 自動kill殺死或結束該程序和該程序的衍生的程序,那麼就讓jenkins不

quartz 暫停後重新啟動,在暫停時 暫停後的任務,在啟動補償執行即 連續多次呼叫jobexecute方法。

public String add() throws IOException, SchedulerException {// 一定要緊跟Validate之後寫驗證結果類String seconds = job.getCronExpression();//String cronExp = "0/" + sec

Android adb shell啟動應用程序的方法

options enable 情況 命令行啟動 cif 不同的 www sta debug 在Android中,除了從界面上啟動程序之外,還可以從命令行啟動程序,使用的是命令行工具am.usage: am [subcommand] [options] start an

Quartus prime 16.0 通過JTAG固化程序

file pri 前言 文件 界面 程序 cnblogs convert 技術 前言 下載項目sof文件到開發板中,掉電後會消失;由於開發板有JTAG口,則可以用JTAG固化jic文件到EPCS16芯片中。 流程 1.打開quartus軟件並打開convert progra

phpunset一個變量之後, 通過引用賦值引用這個變量的變量unset嗎?

是否 有著 amp 如果 存在 其他 得到 val 發現 在php中變量的賦值分為按值賦值, 和引用賦值. 在按值賦值中, $a = val; $b = $a ; 可以看成$a = val; $b =val;變量b被賦予a的值之後, a和b便沒有任何的引用關系了, 此