jenkins执行shell命令出错:[Exec exit status not zero. Status [-1]]

本文详细介绍了 Jenkins 中 SSH 配置的方法,并针对构建过程中出现的 [Exec] exit status not zero.Status [-1] 错误进行了深入分析。通过调整 shell 脚本中的进程杀除命令,成功解决了 Jenkins 构建失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先贴一个jenkins ssh配置的博文(讲的很清晰):ssh连接目标服务器

其实触发[Exec exit status not zero. Status [-1]]的原因有很多,所以我们需要知道到底是shell脚本里面哪一步出错了,这样才能具体分析自己的问题所在,通过勾选如下图所示的“Verbose output in console”,可以在jenkins控制台Console Output看到更详细的项目构建过程中的日志信息。
在这里插入图片描述
最后我发现应该是kill进程的时候把grep也杀掉了,但是我用网上反向过滤的方法并没有用:ps -ef | grep ${TOMCAT_HOME}/ | grep -v grep | awk '{print $2}

从日志上看,jenkins运行shell的时候,还是会把grep一起kill掉,所以反向过滤无效(至于为什么我也不知道),于是只能采取仅返回第一个匹配结果的方法:ps -ef | grep -m 1 ${TOMCAT_HOME}/ | awk '{print $2},如此操作就可以精确kill掉tomcat进程

【备注】如果你之前没有设置过的话,jenkins控制台输出的中文一般都是乱码,解决办法:在jenkins安装目录/jenkins.xml中新增-Dfile.encoding=utf-8,如下
-Xrs -Xmx256m -Dfile.encoding=utf-8 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar “E:\Program Files\Jenkins\jenkins.war” --httpPort=8083 --webroot="%LocalAppData%\Jenkinswar"

然后重启jenkins服务:
停止jenkins服务:net stop jenkins
启动jenkins服务:net start jenkins

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值