在linux环境中启动一个程序想放入后台正常做法是使用nohup加&符号。
但是这样的命令放到shell脚本里,然后通过jenkins去发布的话会把输出日志打印到jenkins的output里,导致任务不能结束。
这时需要重新在命令后面加上重定向如:nohup java -jar test.jar >start.log 2>&1 &。使用中遇到的坑
除了上面一种情况,还有下面的情况
明明设置的没什么问题了,但是还是出现jenkins任务不会自动结束。
通过一步步排查,最后发现问题是在启动前,做了个cd的操作:先是cd到文件目录下,然后使用相对路径进行后台启动,然后就.......
改为绝对路径,去掉cd的操作一切ok!调用shell脚本,在脚本里进行判断程序启动是否正常。防止不管是否正常jenkins都提示成功的方法是:
脚本里成功的情况下使用正常退出exit 0,异常情况下使用exit 1退出。jenkins在获取到非0的情况下会提示任务失败

调用shell jenkins不能自动结束相关推荐

  1. GIt+jenkins代码自动上线

    代码自动上线功能 企业部署代码上线是件比较麻烦的事情,还好我们有jenkins这个持续集成的软件可以帮助我们做很多的事情,现在我们就 来测试用jenkins推送代码上线. 我们这里测试的是一个html ...

  2. python 调用shell命令的方法

    转载: https://www.cnblogs.com/thinker-lj/p/3860123.html https://www.cnblogs.com/wenwangt/p/4897961.htm ...

  3. Tomcat Jenkins iOS自动打包

    Tomcat Jenkins iOS自动打包 Jenkins 可以配合测试人员或者 CI 打包,主要作用是提供打包页面选择和参数传递,最后导出 ipa 包. 打包方式有如下几种 借助 Jenkins ...

  4. linux shell 三种自动交互 方法

    方法一 自动交互最关键的就是交互信息的自动输入,首先联想到文件重定向,在shell编程中有这样一种用法(参考LINUX与UNIX SHELL编程指南 chapt 5.7):"command ...

  5. 这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?

     一.为什么用jenkins 主要是我们现在的项目都是采用手动部署的,每当给项目中新增一个功能就必须执行(打包--测试--上传测试修复的包到指定服务器--部署上线),这个流程操作起来繁杂,不小心就可能 ...

  6. python 中调用shell命令

    subprocess模块 根据Python官方文档说明,subprocess模块用于取代上面这些模块.有一个用Python实现的并行ssh工具-mssh,代码很简短,不过很有意思,它在线程中调用sub ...

  7. python使用shell命令_python 调用shell命令的方法

    在python程序中调用shell命令,是件很酷且常用的事情-- 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出 ...

  8. java调用shell脚本及注意事项

    需求: get方法下载远程zip包,然后zip包解压,取出第一级目录再次进行压缩获取新的压缩zip包. 问题: 如果选择使用java代码的IO流操作,在不确定zip包大小的情况下可能会占用很大的内存, ...

  9. linux下如何用c语言调用shell命令-转

    C程序调用shell脚本共有三种法子 :system().popen().exec系列函数 system()不用你自己去产生进程,它已经封装了,直接加入自己的命令exec 需要你自己 fork 进程, ...

  10. java调用shell命令并获取执行结果

    java调用shell命令并获取执行结果 使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取 [plain] view plain cop ...

最新文章

  1. 中绘制折线_啥是折线图?啥时候用?怎么用呢?这里全都有,满足你的味蕾
  2. nginx 负载均衡 最初级版本
  3. codeigniter中 get_instance()的应用
  4. python实现百度翻译
  5. [Qualcomm][Audio] 高通Audio Bringup Guide
  6. ACD_把dwg像控件一样放到界面
  7. [转] 怎样写好作文批语
  8. 转载:性格与健康(刘善人)之二
  9. 测试wifi覆盖范围的软件
  10. 【Vue】通过computed为筛选列表数组进行排序(图文+完整代码示例)
  11. linux 内存清理 释放命令,linux 内存清理释放命令(示例代码)
  12. 《傻瓜计量经济学与stata应用》第二章do文件,记得把数据考到当前目录或带上路径,否则可能无法打开
  13. 8255芯片实现7段LED显示器
  14. c语言 输入1-7之间的一个整数,然后根据输入的数字判断是星期几,最后输出对应的星期的全称。如输入3,则输出Wednesday。
  15. title: hexo博客搭建流程(附gitee仓库同步等)
  16. MIKE 21 教程 2.4 水动力模块教学:干湿边界(Flood and Dry),密度关系(Density)
  17. C++的异常处理机制
  18. 原生js实现拖动滑块验证
  19. 江苏机考-信息技术基础部分总结
  20. 安卓手机来电防火墙_Android自动化测试05--安卓基础

热门文章

  1. 机器学习笔记(三):NumPy、Matplotlib、kNN算法 | 凌云时刻
  2. 计算机网络基础大学教材,计算机网络基础(高等院校信息技术应用型规划教材)...
  3. 【优化算法】非支配排序遗传算法(NSGA)【含Matlab源码 176期】
  4. 【钢带厚度预测】基于matlab模拟退火遗传算法优化BP神经网络钢带厚度预测【含Matlab源码 1285期】
  5. 【数字信号】基于matlab GUI DTMF双音多频手机拨号仿真系统【含Matlab源码 1085期】
  6. 【手写数字识别】基于matlab GUI BP神经网络手写数字识别【含Matlab源码 518期】
  7. 肉体之爱的解释圣经_可解释的AI的解释
  8. android横向滑动分享,Android将ListView逆时针旋转90°实现横向滑动
  9. 索佳电子水准数据传输软件_安徽铜陵磁致伸缩式静力水准仪公司
  10. CSE-CIC-IDS 2018数据集下载