解决jenkins的Exec command命令不生效,或者执行停不下来的问题

Jenkins构建完后将war包通过 Publish Over SSH 的插件发布到服务器上,在服务器上执行脚本时,脚本中的 nohup 命令无法执行,并不生效,我配置的Exec command命令是后台启动一个war包,并输出日志文件。

nohup java -jar /home/jkapp/jkapp/jkapp.war > /home/jkapp/jkapp/jkapp.log 2>&1

在网上查询资料后,有人说命令前要加上source /etc/profile

source /etc/profile

nohup java -jar /home/jkapp/jkapp/jkapp.war > /home/jkapp/jkapp/jkapp.log 2>&1

加上后,Exec command命令确实可以执行了,但是会造成停止不了的现象,导致jenkins连接超时,error报错。

所以加上source /etc/profile的方法并不正确。

于是我在这里卡了很久的时间。

最终我找到了这个问题的完美解决办法:

那就是在Transfer的高级选项中勾选上Exec in pty

测试结果:

执行成功,问题解决了!

相关推荐
IT大白鼠1 小时前
AI SSH 运维助手 V13.0内部版七项私有新特性全解
运维·人工智能·ssh
天蓝蓝的本我1 小时前
ollama外部无法访问.ollama.service 文件无法写入.ollama外部无法访问.
运维·网络
帷幕落秋1 小时前
经典命令场景与软硬链接
linux·运维
Sayai3 小时前
Java 进程 Unable to create new native thread 排查实战:Linux 线程数五层限制与 JVM -Xss 调优
java·linux·运维·jvm·性能优化
修船大队长3 小时前
启动阶段 KL15 未接通时触发报文超时监控
运维·服务器·网络
程序员-Benothing3 小时前
Linux网络排错命令:ping、traceroute、mtr、dig、nslookup
linux·运维·网络
AbandonForce3 小时前
Linux 网络:序列化与反序列化
linux·运维·网络