zoukankan      html  css  js  c++  java
  • jenkins部署测试服务器sehll脚本踩坑

    jenkins访问服务器的时候执行啥进程的命令:

    ps -ef | grep java | grep $dir_tomcat_home | awk '{ print $2 }'|xargs kill -9

    先通过管道过滤出java再过滤目标服务的原因是:

    本身通过jenkins/ssh 访问$dir_tomcat_home的这个操作也是一个进程,如果不限过滤掉的话,搜索结果如果该线程,排在前面会导致想要的进程没有杀掉,而杀掉了ssh访问的线程

    awk "{print $2}":一行一行读取文件,以空格分割,输出第二个,这里是获取线程号

    xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令

    比如:

    kickseed:~/projects$ ps -ef | grep java |grep /home/souche/tomcats/crm.dasouche.net

    souche   13046     1  8 14:34 ?        00:02:04 /usr/local/share/java8/jre/bin/java -Djava.util.logging.config.file=/home/souche/tomcats/crm.dasouche.net/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /home/souche/tomcats/crm.dasouche.net/bin/bootstrap.jar:/home/souche/tomcats/crm.dasouche.net/bin/tomcat-juli.jar -Dcatalina.base=/home/souche/tomcats/crm.dasouche.net -Dcatalina.home=/home/souche/tomcats/crm.dasouche.net -Djava.io.tmpdir=/home/souche/tomcats/crm.dasouche.net/temp org.apache.catalina.startup.Bootstrap start

     

    kickseed:~/projects$ ps -ef | grep /home/souche/tomcats/crm.dasouche.net

    souche   13046     1  8 14:34 ?        00:02:05 /usr/local/share/java8/jre/bin/java -Djava.util.logging.config.file=/home/souche/tomcats/crm.dasouche.net/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /home/souche/tomcats/crm.dasouche.net/bin/bootstrap.jar:/home/souche/tomcats/crm.dasouche.net/bin/tomcat-juli.jar -Dcatalina.base=/home/souche/tomcats/crm.dasouche.net -Dcatalina.home=/home/souche/tomcats/crm.dasouche.net -Djava.io.tmpdir=/home/souche/tomcats/crm.dasouche.net/temp org.apache.catalina.startup.Bootstrap start

    souche   13465 11963  0 14:59 pts/1    00:00:00 grep --color=auto /home/souche/tomcats/crm.dasouche.net

     

     

    如果第二个命令中如果第二个会话线程在第一前面的话,会导致没有杀掉目标进程而杀掉了会话进程

     

     

    export BUILD_ID=pleaseDontKillMe

    export BUILD_ID=dontKillMe这一句很重要,因为该job启动完后执行下一job,jenkins直接把tomcat进程杀了,所以无论脚本中怎么写了启动tomcat的命令,他是不会启动的

  • 相关阅读:
    Keras分类问题
    Keras预测股票
    Tensflow预测股票实例
    estimator = KerasClassifier
    keras CNN解读
    Windows下Python安装: requires numpy+mkl 和ImportError: cannot import name NUMPY_MKL
    Tensorflow RNN_LSTM实例
    同时安装python2.7和python3.5
    oracle 杀掉当前用户的进程
    IMP导入时的错误以及解决办法
  • 原文地址:https://www.cnblogs.com/yzzfreedom/p/9046216.html
Copyright © 2011-2022 走看看