How to make sure only one instance of a Bash script is running at a time?

前端 未结 6 1871
时光取名叫无心
时光取名叫无心 2021-02-08 00:54

I want to make a sh script that will only run at most once at any point.

Say, if I exec the script then I go to exec the script again, how do I make it so that if the f

6条回答
  •  鱼传尺愫
    2021-02-08 01:12

    You want a pid file, maybe something like this:

    pidfile=/path/to/pidfile
    if [ -f "$pidfile" ] && kill -0 `cat $pidfile` 2>/dev/null; then
        echo still running
        exit 1
    fi  
    echo $$ > $pidfile
    

提交回复
热议问题