美文网首页
linux 查找tomcat进程并杀死

linux 查找tomcat进程并杀死

作者: 风吟空城 | 来源:发表于2018-11-27 15:12 被阅读0次

简言

公司项目运营在linux系统上,为了方便发包,自己写了一个自动发包程序。但是,经常会出现tomcat进程没有杀死的情况。为了解决此问题,写了一个处理此类进程的脚本。写下本文的就是记录一下这个脚本,同时也希望能帮到有此需求的人。

步骤分解

1.公共变量

#!/bin/sh

JAVA_JPS="$JAVA_HOME/bin/jps -v"
#公共变量
declare node_name;

2.检索符合条件的tomcat进程

#获取tomcat节点PID
function get_tomcat_node_pid {
    pids_search=`$JAVA_JPS | grep $node_name | awk '{print $1}'`;    
    echo $pids_search;
}
  • shell中将某个方法、命令的执行结果赋值给某个变量时,需要使用反引号。反引号``不是单引号,而是TAB键上方那个键。
  • $node_name为tomcat节点名称。

3.检查tomcat进程

#检查tomcat节点是否被杀死
function check_tomcat_node_killed {
    pids=`get_tomcat_node_pid`;
    pids_array=($pids);
    pids_len=${#pids_array[@]};
    
    if [ $pids_len -eq 0 ]
    then
        return 0;
    fi
    
    return 1;
}

根据pids集合的长度判断tomcat进程是否存在。
return只返回number类型的数值,0表示正确,其他为不正确。如果想获取方法的返回值,使用$?接收即可。

4.杀死tomcat进程

#杀死tomcat节点进程
function kill_tomcat_node {
    echo "$pids";   
    for node_pid in $pids
    do
        echo "kill tomcat node pid of $node_pid";
        kill -9 $node_pid;
    done 
}

利用for循环逐个杀死符合检索条件的tomcat进程。

5.完整脚本

#!/bin/sh

JAVA_JPS="$JAVA_HOME/bin/jps -v"
#公共变量
declare node_name;


#获取tomcat节点PID
function get_tomcat_node_pid {
    pids_search=`$JAVA_JPS | grep $node_name | awk '{print $1}'`;    
    echo $pids_search;
}

#检查tomcat节点是否被杀死
function check_tomcat_node_killed {
    pids=`get_tomcat_node_pid`;
    pids_array=($pids);
    pids_len=${#pids_array[@]};
    
    if [ $pids_len -eq 0 ]
    then
        return 0;
    fi
    
    return 1;
}

#杀死tomcat节点进程
function kill_tomcat_node {
    echo "$pids";   
    for node_pid in $pids
    do
        echo "kill tomcat node pid of $node_pid";
        kill -9 $node_pid;
    done 
}

#杀死进程
tomcat_kill() {    
    node_name=$1;
    check_tomcat_node_killed;
    check_tomcat_node_result=$?;
    if [ $check_tomcat_node_result -eq 1 ]
    then  
        kill_tomcat_node;
    else
        echo "tomcat node is killed already!";
    fi
    
    exit $?             
}

#执行kill方法
tomcat_kill $1

结尾

这个脚本只是一个简单的执行脚本,为了更友好,可以加上各种友好提示方法,有需要的朋友可以自己去增加。

相关文章

网友评论

      本文标题:linux 查找tomcat进程并杀死

      本文链接:https://www.haomeiwen.com/subject/nqtsqqtx.html