我想知道是否有一些工具/应用程序可以阻止另一个工具/应用程序运行不止一次。我知道它可以通过使用 pidfile 手动完成,但没有一些工具吗?
如:/bin/ruonce /bin/myApp
当应用程序第一次在后台生成时,它将返回 0,当它已经运行时返回 1..
在 OpenRC 中,有一个很接近的 start-stop-daemon,但它不必要地复杂且不是独立的。
有一个简单的实用程序称为flock
将进程包装在一个锁文件中,并默认创建一个排他锁。这意味着如果先前的调用仍在运行,则由 flock 文件包装的进程的后续运行将失败。
您还可以告诉 flock 立即失败而不是等待锁定:
flock -xn /bin/yourcmd
Run Code Online (Sandbox Code Playgroud)
这个二进制文件是util-linux
包的一部分,默认情况下应该在您选择的发行版上可用。
归档时间: |
|
查看次数: |
479 次 |
最近记录: |