bir süredir jenkins ile prod ortama deploylar yapıyorum. manual olarak çalıştırdığımda sorunsuz çalışan bash scriptlerim. jenkins tarafından başlatılınca bir yerde kesiliyordu. bunu önlemek için jenkinse e şu parametre veriliyor
-Dhudson.util.ProcessTree.disable=true
debianda /etc/default/jenkins altında bunu set edebilirsiniz veya manual çalıştırıyorsanız çalıştırılan satıra bu değişkeni eklemeniz yeterli. bu yöntem biraz eski versiyonlar için geçerli.
son versiyonlarda yapılması gereken. start.sh dosyanız a BUILD_ID=dontKillMe eklemeniz gerek. örnek dosya
#!/bin/bash
set -x
processname=PROSES
BUILD_ID=dontKillMe
set +e
cd /projectpath/
ps -ef | grep $processname | grep -v grep | awk '{print $2}'|xargs kill -9
nohup mvn -Dsite=$processname clean jetty:run > site.log &
exit 0
konunun detayı şu adresde mevcut
https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller