zoukankan      html  css  js  c++  java
  • Linux关闭jetty服务器脚本

    Linux 停止与启动服务器

    在日常的开发中,我们经常需要停止tomcat或jetty服务器进行一些操作后,然后重新启动服务器。
    下面即为停止jetty服务器的一段脚本。我们通过脚本来理解一下这里面的脚本

    #!/bin/bash
    pidlist=`ps -ef|grep start.jar|grep -v "grep"|awk '{print $2}'`
    if [ "$pidlist" = "" ];then
          echo "no pid alive"
    else
          for pid in ${pidlist}
          {
             kill -9 $pid
             echo "KILL $pid:"
          }
          echo "app stop success"
    fi
    rm -rf /home/user/jetty/data
    cd /home/user/jetty
    java -jar start.jar
    
    

    通过jar包寻找其启动的进程

    ps 命令

    • -e 显示所有进程
    • -f 全格式

    ps -ef 显示格式:

    • 1.UID 用户ID
    • 2.PID 进程ID
    • 3.PPID 父进程ID
    • 4.C CPU占用率
    • 5.STIME 开始时间
    • 6.TTY 开始此进程的TTY----终端设备
    • 7.TIME 此进程运行的总时间
    • 8.CMD 命令名

    grep 命令

    正则匹配,输出匹配上数据之外的所有行 -v 选项:

    grep -v "match_pattern" file_name
    

    "|"代表其前面的输出作为后面表达式的输入

    awk '{print $2,$5}'

    可以认为是输出函数 数据行一空格分割,索引从1开始,打印第几个数据

    例如:

    执行awk '{print $2,$5}'的输出结构为:

    至此,第一行的脚本我们就知道是什么意思了

    pidlist=`ps -ef|grep start.jar|grep -v "grep"|awk '{print $2}'`
    

    查找进程中 包含start.jar的但是又不包含grep 的输出其第2个参数 即进程的ID--PID

    逐条kill进程

    使用方法

    kill[参数][进程号]
    

    其中参数的类型为:

    脚本中使用

    kill -9 $pid
    

    意思是强制终止进程

    移除文件

    rm

    • -i 删除前逐一询问确认。
    • -f 略过不存在的文件,不显示任何信息,强制删除
    • -r 同时删除该目录下的所有目录层
    rm -rf /home/user/jetty/data
    

    强制删除/home/user/jetty/data下的所有文件及目录。

    java -jar start.jar
    

    重新启动jetty

    在删除文件前先停止服务器的原因

    • 如果不停止服务器,倘若有人使用文件,将会导致程序错误
    • 如果不停止服务,因为程序持有文件的引用,会导致删除失败
    I am chris, and what about you?
  • 相关阅读:
    初步学习vue.js
    ie兼容CSS3渐变写法
    关于javascript dom扩展:Selector API
    jquery 性能优化高级技巧
    三行代码CSS竖向居中
    JS中 (function(){...})()立即执行函数
    Null 和 undefined 的区别
    CSS 交集选择器和并集选择器
    Vue-cli 构建项目后 npm run build 如何在本地运行查看
    Cubic-bezier 曲线
  • 原文地址:https://www.cnblogs.com/arax/p/8391874.html
Copyright © 2011-2022 走看看