在 Linux 系统中,用脚本启动服务后,退出当前用户,启动的服务进程会被终止。
挂断信号(SIGHUP)终止程序。
解决:
nohup java -jar spring.jar &
nohup:不挂断运行命令,用户退出或终端关闭,程序仍然运行。
&:后台运行。
https://www.cnblogs.com/jhxxb/p/10987503.html
在 Jenkins 中,任务执行完成后会自动终止部署过程中的子进程。
https://wiki.jenkins.io/display/JENKINS/ProcessTreeKiller
最常见的问题就是 tomcat 启动命令执行成功了,但是无法访问。
解决:
Pipeline job
withEnv(['JENKINS_NODE_COOKIE=dontkillme']) { sh 'sh /opt/tomcat/bin/startup.sh' }
普通 job
OLD_BUILD_ID=$BUILD_ID echo $OLD_BUILD_ID export BUILD_ID=dontKillMe # 执行 tomcat 启动脚本 sh /opt/tomcat/bin/startup.sh # 改回原来的 BUILD_ID 值 export BUILD_ID=$OLD_BUILD_ID echo $BUILD_ID
不使用 root 用户启动
# yum 方式安装下的配置文件路径 vim /etc/sysconfig/jenkins JENKINS_USER="jenkins" systemctl restart jenkins