این اتفاق به این دلیل رخ می دهد که چون apache tomcat توسط یک job در jenkins اجرا می شود پس درون ProcessTree آن job قرار می گیرد و در زمان اتمام آن job کل ProcessTree مربوط به آن نیز kill می شود و در نتیجه apache tomcat هم پایین می آید.
راه حل های این مشکل در این لینک بصورت مفصل توضیح داده شده است، مشکل من بدین صورت حل شد که قبل از اجرای apache tomcat توسط jenkins، با استفاده از متغییر BUILD_ID، مکان قرار گیری فرایند apache tomcat را در ProcessTree تغییر دادم و دیگر فرایند apache tomcat زیر مجموعه ProcessTree مربوط به job در حال اجرا نیست، در نتیجه پس از پایان job، فرایند apache tomcat کماکان زنده می ماند.
BUILD_ID=dontKillMe
sh ${CATALINA_HOME}/bin/startup.sh
البته مشکل این روش این است که در صورت پایین آمدن سرور jenkins، سرور apache tomcat نیز پایین می آید!