2012年1月13日金曜日

[Shell 基础] shell 判断多重启动

1. 采用 lock 文件
--------------------------------------
#!/bin/sh
if ln -s /tmp/checkfile.pid; then
  echo "startup..."
  sleep 10
else
  echo "is running..."
  exit
fi
rm -f checkfile.pid
--------------------------------------

2. 采用 ps 命令

2-1. 运行 shell 脚本
$ sh check.sh

2-2. 判断 check.sh 是否在运行
----------------------------------------------------------------
#!/bin/sh
res=`ps aux | grep "check.sh" | grep -v grep | awk '{print $2}'`
if [ -z "$res" ] ; then
  echo "startup..."
else
  echo "is running..."
fi
----------------------------------------------------------------

0 件のコメント:

コメントを投稿