zoukankan      html  css  js  c++  java
  • 简单的csh实例

    通过flag文件来检测与否在运行。

    可以加入相关关键字的进程的检测。 

    代码:(简单的csh实例)running_check

    #!/bin/csh -f

    if ($#argv < 2 ) then
    usage:
      echo "Usage: $0 <running_flag> <action> <timeout>"
      echo "action need be one value of -check or -delete."
      echo "default timeout is 0, it means no timeout limitation."
      exit 1
    endif

    set running_flag = $1
    set action = $2
    set timeout = 0
    if ( "$3" != "") set timeout = $3
    if ( "$action" != "-check" && "$action" != "-delete" ) goto usage

    # wait until the flag is deleted by ohter processes or timeout.
    set waittime = 0
    if ("$action" == "-check" && -e $running_flag ) then
      echo "running flag is existed, please wait!"
      set running = 1
      set sleeptime = 60
      while(("$timeout" != "0" && $waittime < $timeout) && $running \
            || "$timeout" == "0" && $running)
        echo "sleep $sleeptime" && sleep $sleeptime
        @ waittime += $sleeptime
        if (! -e $running_flag) set running=0
      end
    endif

    # timeout, delete the flag.
    if ("$timeout" != "0" && "$waittime" >= "$timeout") then
      echo "timeout $timeout"
      echo "delete running flag"
      if ( -e $running_flag) rm $running_flag
    endif


    # if check, set new flag.
    # if delete, delete the flag.

    if ( "$action" == "-check" ) then
      echo "touch running flag"
      touch $running_flag
      echo `date` > $running_flag
      ls -l $running_flag
    else
      echo "delete running flag"
      if ( -e $running_flag) rm $running_flag
    endif
    exit 0

    完! 

  • 相关阅读:
    ElasticSearch 2 (15)
    ElasticSearch 2 (14)
    ElasticSearch 2 (13)
    ElasticSearch 2 (12)
    浅谈 Comet、SSE、WebSocket
    js快速将字符串数组转化为数字数组(互换)
    如何给自己的vue组件做一个提示
    顶级域名和子级域名之间的cookie共享和相互修改、删除
    前端工程化
    数据校验工具 data-police
  • 原文地址:https://www.cnblogs.com/itech/p/2698406.html
Copyright © 2011-2022 走看看