linux 脚本 检测应用运行时间,使用bash shell脚本检查程序是否正在运行?

slm..

37

PROCESS_NUM使用这种单线程,您几乎可以完成所有任务:

[ `pgrep $1` ] && return 1 || return 0

如果你正在寻找一个部分匹配,即程序被命名为foob​​ar,你希望你$1只是foo,你可以添加-f switch到pgrep:

[[ `pgrep -f $1` ]] && return 1 || return 0

把它们放在一起你的脚本可以像这样重做:

#!/bin/bash

check_process() {

echo "$ts: checking $1"

[ "$1" = "" ] && return 0

[ `pgrep -n $1` ] && return 1 || return 0

}

while [ 1 ]; do

# timestamp

ts=`date +%T`

echo "$ts: begin checking..."

check_process "dropbox"

[ $? -eq 0 ] && echo "$ts: not running, restarting..." && `dropbox start -i > /dev/null`

sleep 5

done

运行它看起来像这样:

# SHELL #1

22:07:26: begin checking...

22:07:26: checking dropbox

22:07:31: begin checking...

22:07:31: checking dropbox

# SHELL #2

$ dropbox stop

Dropbox daemon stopped.

# SHELL #1

22:07:36: begin checking...

22:07:36: checking dropbox

22:07:36: not running, restarting...

22:07:42: begin checking...

22:07:42: checking dropbox

希望这可以帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值