• Shell中 |和||,&和&&用法


    1.| 和 ||
    |:输入了如下指令:command0 | command1,则command0的输出流入到command1中
    ||:与&&的作用正好相反,是在执行到成功的指令时停止后续指令的执行。command0 || command1,如果command0执行成功,则command1不再执行。如果command0执行失败,则继续执行command1

    2.& 和 &&
    &:输入了如下指令:command0 &,则执行command0并使其进入后台。;

    &&:输入了如下指令:command0 && command1,则先从command0开始执行。如果command0执行失败,则不再继续执行command1。如果执行command0执行成功,则继续执行command1。
    所以,&&的作用是在执行到失败的指令时停止后续指令的执行。

    “Exec exit status not zero” 说明进程没有正常结束,经过排除,问题锁定在:
    ps -ef |grep tomcat-center |awk '{print $2}'|xargs kill -9 1>/dev/null 2>&1 | exit 0

    分析:
    ps -ef | grep tomcat-center 查询到的是两条记录(如下图):第一条是我们要查找并关闭的,第二条是查找进程自身。


    当管道进行到kill的时候,两条进程一同被杀死,而Jenkins仍然在等待查找进程自身返回exit 0,事实上它永远等不到了,因为进程都没了,

    最终会报异常"Exec exit status not zero"
    解决:

    使用“grep -v grep”排除掉它自身就可以

    原来:ps -ef |grep tomcat-center |awk '{print $2}'|xargs kill -9

    改后:ps -ef |grep tomcat-center | grep -v grep |awk '{print $2}'|xargs kill -9
    ————————————————
    版权声明:本文为CSDN博主「wangfei0904306」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wangfei0904306/article/details/72780617


    ————————————————
    版权声明:本文为CSDN博主「望长安于日下」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_26884501/article/details/104185364

  • 相关阅读:
    java中Executor、ExecutorService、ThreadPoolExecutor介绍
    JAVA多线程实现的四种方式
    JVM内存结构
    Synchronized修饰静态变量和普通变量的区别
    tcpkill工作原理分析
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/14593463.html
Copyright © 2020-2023  润新知