スクリプト実行回数[繰り返し]

スクリプト実行回数[繰り返し]

スクリプトが実行された回数を求めようとしますが、一度だけ実行しても常に2回です。

sh 11.sh
1
 11.sh already running,exiting..

コードは次のとおりです。

ps -ef | grep -v grep | grep -c "$0"
if [[ `ps -ef | grep -v grep | grep -c "$0"` -gt "1" ]]; then
            `echo " $0 already running,exiting.."`
fi

ベストアンサー1

pgrepを使用してください...

#!/bin/bash

PNAME=$(basename "$0")

COUNT=$(pgrep -c -x  $PNAME)

(( COUNT > 1 ))  &&  echo "$0 already running, exiting..."                                                           

おすすめ記事