如果Bash脚本已经在运行,请等待,然后继续



我有一个bash脚本,一旦进程完成,程序就会调用它。如果bash脚本本身的另一个实例正在运行,我需要一种方法来等待它退出,然后再继续。我不能只使用锁定文件然后退出,因为在任何常规计划中都不会再次调用脚本。

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

在脚本中,在创建锁定文件之前,您可以循环检查锁定文件是否存在,如果存在,则继续循环(通过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

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

相关内容

  • 没有找到相关文章

最新更新