Bash脚本等待已经运行,然后继续

时间:2012-10-12 07:31:24

标签: linux bash shell unix

我有一个bash脚本,一旦进程完成,程序就会调用它。我需要一种方法让该bash脚本等待其自身的另一个实例在继续运行之前退出。我不能只使用锁定文件并退出,因为不会在任何类型的常规计划中再次调用脚本。

2 个答案:

答案 0 :(得分:1)

使用ps -df命令列出系统上运行的所有PID和PPID。现在,您可以包含一个代码,该代码将解析ps -df输出并检查bash script的运行实例是否回答是exit 1当前脚本

答案 1 :(得分:1)

  

我不能只使用锁定文件并退出,因为不会以任何常规计划再次调用脚本。

在脚本中,在创建锁定文件之前,您可以循环检查锁定文件是否存在,如果存在,继续循环(通过sleep命令或其他内容),当它消失时,创建它

类似的东西:

#!/bin/bash

while [ -e /var/tmp/bash_script.lock ];
do
    sleep 5
done

touch /var/tmp/bash_script.lock

echo "do something"

rm /var/tmp/bash_script.lock