zoukankan      html  css  js  c++  java
  • 监控进程,线程shell脚本

    脚本范例

    #!/bin/bash
    #this script is for check process
    
    NUM_VEN=`ps aux | grep ventilator.py | grep -v grep | wc -l`
    NUM_FTP=`ps aux | grep ftpsender.py | grep -v grep | wc -l`
    NUM_WORKER=`ps aux | grep worker.py | grep -v grep| wc -l`
    
    cd $(dirname $0)
    
    kill_process()
    {
        ps aux | grep $1 | grep -v grep | awk '{print $2}' | xargs kill -9
        sleep 1
    }
    
    start_worker()
    {
        for((i=0;i<$1;i++))
        do
            nohup python ./worker.py &
            sleep 1
        done
    }
    
    
    move_file()
    {
        mv /notebooks/ai_mos_8.1/ai_mos/backtracking/* /notebooks/VOLTE_SLICE_GM
    }
    
    TIME=`date +%H`
    
    if [ "$TIME" -ge 9 -a "$TIME" -lt 19 ]
    then
        echo "no check"
        exit 1
    fi
    
    if [ $NUM_FTP -lt 1 ]
    then
        kill_process ftpsender.py
        kill_process worker.py
        kill_process ventilator.py
        move_file
        nohup python ./ftpsender.py &
        sleep 5
        start_worker 6    
        sleep 2
        nohup python ./ventilator.py &
    elif [ $NUM_WORKER -lt 6 ]
    then
    #    kill_process worker.py
        START_NUM=$((6-$NUM_WORKER))
        if [ $NUM_WORKER -eq 0 ];then
            kill_process ventilator.py
                    move_file
            start_worker $START_NUM
            nohup python ./ventilator.py &
        else
            start_worker $START_NUM
        fi
        sleep 2
        if [ $NUM_VEN -eq 0 ];then
                    move_file
            nohup python ./ventilator.py &
        fi
    elif [ $NUM_VEN -lt 1 ]
    then
        kill_process ventilator.py
        move_file
            nohup python ./ventilator.py &
    else
        echo "every thing is ok"
    fi

    修改之后,实现监控work的六个线程和ventilator.py一个进程

    #!/bin/bash
    #this script is for check process
    
    NUM_VEN=`ps aux | grep ventilator.py | grep -v grep | wc -l`
    NUM_WRITE=`ps aux | grep write_worker.py | grep -v grep | wc -l`
    NUM_WORKER=`ps aux | grep worker.py | grep -v grep| wc -l`
    
    cd $(dirname $0)
    
    kill_process()
    {
        ps aux | grep $1 | grep -v grep | awk '{print $2}' | xargs kill -9
        sleep 1
    }
    
    start_worker()
    {
        for((i=0;i<$1;i++))
        do
            nohup python ./write_worker.py  $i >/dev/null 2>&1 &
            sleep 1
            nohup python ./worker.py >/dev/null 2>&1 &
            sleep 1
        done
    }
    
    if [ $NUM_WORKER -lt 6  -a  $NUM_VEN -lt 1]
    then
        kill_process ventilator.py
        kill_process worker.py
        kill_process write_worker.py
        start_worker 3    
        sleep 2
        nohup python ./ventilator.py >/dev/null 2>&1 &
    
    else
        echo "every thing is ok"

    注明:写的一般,反正够用,仅供平日参考

  • 相关阅读:
    nginx 命令 以及普通搭建图片服务
    安卓开发自定义View流程
    01-flask虚拟环境
    vscode切换虚拟环境报错无法加载文件 E:Python_projectshop_envScriptsActivate.ps1,因为在此系统上禁止运行 脚本。
    01-flask旅行网系统功能设计
    10-Python文件操作
    09-Python异常
    08-Python面对对象进阶
    06-Python元组,列表,字典,集合数据结构
    05-Python模块
  • 原文地址:https://www.cnblogs.com/hanjianfei/p/14000425.html
Copyright © 2011-2022 走看看