美文网首页
根据条件杀死进程

根据条件杀死进程

作者: CAICAI0 | 来源:发表于2018-01-02 14:40 被阅读23次

    背景

    不知道公司运维做了什么,其实公司就没有运维人员,svn服务器总是还没有完成co就卡死了,最多下载150M。无奈之下写此脚本

    #!/bin/sh  
    record=0  
    while true;  
    do  
        cpu=$(ps aux|grep /Applications/Xcode.app/Contents/Developer/usr/bin/svn\ update|grep -v "grep"|awk '{print $3}')  #获取cpu用量,grep <> 筛选包含<>的行, grep -v <> 排除包含<>的行,awk '{print $3}' 取第3列
        pid=$(ps aux|grep /Applications/Xcode.app/Contents/Developer/usr/bin/svn\ update|grep -v "grep"|awk '{print $2}')  
        #cpu check  
        result=${cpu/.*}  # 去除小数,这里不是很严谨,当cpu用量零点几时,就判断成0了
        if [[ $result == 0 ]];then 
            if [[ $record == $pid ]];then 
                kill -9 $pid;
                echo "$pid was killed";
            else
                let record=${pid};
            fi
        else 
            let record=0;
        fi  
        echo `date +%F" "%H:%M:%S`+" cpu:$result% record pid:$record pid:$pid"  
        sleep 30 
    done 
    

    脚本虽然不是很严谨,但是还是很好用的。另一脚本就是一个死循环执行svn cleanup,svn update.两个很傻的脚本配合,才能从服务器更新。

    相关文章

      网友评论

          本文标题:根据条件杀死进程

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