zoukankan      html  css  js  c++  java
  • Linux平台下停止后台进程脚本编写

    1、场景说明

    
    
    1. [root@master ~]# jps -m
    2. 33050 Jps -m
    3. 3299 NameNode
    4. 3747 ResourceManager
    5. 9028 ConsoleConsumer --zookeeper 192.168.168.200:2181 --topic BusTicket
    6. 4331 Worker --webui-port 8081 spark://master:7077
    7. 3400 DataNode
    8. 3849 NodeManager
    9. 4450 Kafka config/server.properties
    10. 9303 ConsoleConsumer --zookeeper 192.168.168.200:2181 --topic Result
    11. 4243 Master --host master --port 7077 --webui-port 8080
    12. 3590 SecondaryNameNode
    13. 4413 QuorumPeerMain /usr/local/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg

    使用jps -m 命令查看当前运行的java进程,如果我现在需要删除【9028 ConsoleConsumer --zookeeper 192.168.168.200:2181 --topic BusTicket】这个进程:

    获取进程执行pid,以便使用kill指令关闭进程

    这里使用的 | 管道连接指令的方法。

    1、 显示所有进程详情

    2、 不显示 grep自身进程

    3、 查找进程对应的关键字 ‘BusTicket’,注意必须是此进程独有的关键字

    4、 使用awk指令获取 pid 数值

    
    
    1. [root@master ~]# ps -ef | grep -v grep | grep BusTicket | awk '{print $2 }'
    2. 9027

    之后再使用kill -9 9027 ,为了方便快捷,采用shell脚本停止后台进程更加好。

    2、创建脚本文件 stopServer.sh

    
    
    1. #!/bin/sh
    2. ### find pid
    3. pid=`ps -ef | grep -v grep | grep BusTicket | awk '{print $2 }'`
    4.  
    5. if[-n "$pid"];then
    6. ### kill pid
    7. kill -9 $pid
    8. ### check status
    9. process_count=`ps -ef | grep -v grep | grep BusTicket | wc -l`
    10. while[ $process_count -ne 0]
    11. do
    12. sleep 2
    13. process_count=`ps -ef | grep -v grep | grep BusTicket | wc -l`
    14. done
    15. echo 'BusTicket is stoped'
    16. else
    17. echo 'can not find BusTicket'
    18. fi
  • 相关阅读:
    软件概要设计说明书(初稿) 定稿
    重新确定了数据流图以及模块图2020.5.4
    开始编写概要说明书以及详细说明书2020.4.29
    singleflight是如何避免缓存击穿的?
    从IO 到BIO/NIO/AIO 浅析
    JVM
    Http
    Linux命令
    什么时候触发MinorGC?什么时候触发FullGC?
    计算机网络
  • 原文地址:https://www.cnblogs.com/yangcx666/p/8723843.html
Copyright © 2011-2022 走看看