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
  • 相关阅读:
    eclipse工具
    Tag
    JSP模版
    Eclipse断点调试
    JavaBean
    验证码设计
    在IE中提示404错误
    序列化与反序列化
    文件编码问题
    强类型,弱类型和推断类型
  • 原文地址:https://www.cnblogs.com/yangcx666/p/8723843.html
Copyright © 2011-2022 走看看