zoukankan      html  css  js  c++  java
  • shell脚本使用记录

    一些比较功能需求比较简单的可以考虑使用shell脚本来写,这样可以方便快捷稳定

    1. 读取文件值,根据文件值1 或 0 来开启和关闭某些程序

    a.  while :

        do

        done

    是无限循环。

    b. while read line

        do 

        echo $line

        done < value

    是读取文件value中的每行。

    c . if [ $line = "0" ]; then

        fi

    是if语句,[]内左右两边都要留空格。

    d. if []; then

        elif []; then

       fi

      是if-else语句。

    e. 

    ps | grep -v grep | grep modbusConfig | wc -l
    wc -l 是用来计算结果的条数
    grep -v grep是去掉结果中包含grep的记录


    f. #!/bin/sh 是使用/bin/目录下的sh工具
    #!/bin/sh
    while :
    do
    cd /sys/class/gpio/gpio26/
    while read line
    do
    echo $line
    if [ $line = "0" ];then
    killall pwmOut
    killall modbusConfig
    echo pwm_duty_cycle 100 > /tmp/my_fifo
    elif [ $line = "1" ];then
    sn=`ps | grep -v grep | grep pwmOut | wc -l`
    if [ $sn -lt 1 ];then
    cd /modbus/
    ./pwmOut &
    fi
    sm=`ps | grep -v grep | grep modbusConfig | wc -l`
    if [ $sm -lt 1 ];then
    cd /modbus/
    ./modbusConfig &
    fi
    fi
    done < value
    sleep 1
    done

    2.  watchdog 守护精灵,当目标程序不在运行时就会启动它

    watchdog.sh

    get_web_srv_sts()
    {
        ret1=`ps | grep "$1" | grep -v grep | wc -l`
        ret2=`ps | grep "$1"|grep -v grep | grep "Z"|wc -l`
        if [ $ret1 -ge 1 ] && [ $ret2 -eq 0 ]
        then
          FUN_RET="UP"
        else
          FUN_RET="DOWN"
        fi
    }
    
    while true; do
      get_web_srv_sts "collector_arm"
      
      if [ $FUN_RET = 'UP' ]
       then
       echo "process running"
       sleep 60
      else
       echo "process down"
       killall collector_arm
       sleep 60
       cd /usr/file/ssf
       ./collector_arm&
       sleep 60
      fi
    done
  • 相关阅读:
    概率面试题
    机器学习概率题总结(转载)
    筛素数以及判断数是否是素数
    腾讯2019正式批春笔试题
    推荐系统架构
    文本表示与匹配
    CTR预估经典模型总结
    spark运行原理
    leetcode 字符串动态规划总结
    无向图的邻接矩阵创建代码以及深度遍历广度遍历
  • 原文地址:https://www.cnblogs.com/fwst/p/4629345.html
Copyright © 2011-2022 走看看