博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单的csh实例
阅读量:4340 次
发布时间:2019-06-07

本文共 1448 字,大约阅读时间需要 4 分钟。

通过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

 

完! 

转载于:https://www.cnblogs.com/itech/archive/2012/09/22/2698406.html

你可能感兴趣的文章
web-4. 装饰页面的图像
查看>>
微信测试账户
查看>>
Android ListView上拉获取下一页
查看>>
算法练习题
查看>>
学习使用Django一 安装虚拟环境
查看>>
Hibernate视频学习笔记(8)Lazy策略
查看>>
CSS3 结构性伪类选择器(1)
查看>>
IOS 杂笔-14(被人遗忘的owner)
查看>>
自动测试用工具
查看>>
前端基础之BOM和DOM
查看>>
[T-ARA/筷子兄弟][Little Apple]
查看>>
编译Libgdiplus遇到的问题
查看>>
【NOIP 模拟赛】Evensgn 剪树枝 树形dp
查看>>
java学习笔记④MySql数据库--01/02 database table 数据的增删改
查看>>
两台电脑如何实现共享文件
查看>>
组合模式Composite
查看>>
程序员最想得到的十大证件,你最想得到哪个?
查看>>
我的第一篇CBBLOGS博客
查看>>
【MyBean调试笔记】接口的使用和清理
查看>>
07 js自定义函数
查看>>