【发布时间】:2010-10-31 20:42:10
【问题描述】:
可能重复:
Quick-and-dirty way to ensure only one instance of a shell script is running at a time
在以前的工作场所,我们曾经有一个高度精炼的 bash 函数,称为 run-only-once,我们可以将它写入任何长时间运行的 shell 脚本,然后在脚本的开头调用它,它会检查查看脚本是否已经作为另一个进程运行,如果是,则退出并通知 STDOUT。
有没有人可以分享这样的函数/片段?
我们的旧函数(我不再拥有)将检查 /var/run 中的 PID 文件(以 scriptname.$$ 格式),然后使用退出或简单地继续。在存在 PID 文件的情况下,它会进行一些检查以确保进程仍然处于活动状态。它还有一些选项可以控制是否输出通知。
根据记忆,我们的函数只能在 bash 中工作。 /bin/sh 版本的奖励积分。
【问题讨论】:
标签: shell