jenkins通过ssh调用远程shell导致job不能自动结束。

远程shell脚本如下

#!/bin/bash

cur_path=`pwd`
echo $cur_path
cd /data/www
sudo /usr/sbin/rinetd -c /etc/config.cfg
echo "okok"
exit 0

脚本中没有业务代码,只是用sudo执行了一个rinetd代理,通过jenkins调用shell时,出现jenkins的job无法结束,一直处于构建中。

此问题原因就是因为使用了sudo,如果rinetd的权限比较弱(无论那个用户都能执行),直接去掉sudo即可。或者将

sudo /usr/sbin/rinetd -c /etc/config.cfg

改为

nohup /usr/sbin/rinetd -c /etc/config.cfg > /dev/null 2>&1 &

均可解决上述问题!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐