【发布时间】:2012-09-04 00:28:04
【问题描述】:
我制作了一个 bash 文件,它在分离的屏幕中启动另一个具有唯一名称的 bash 文件,我需要确保在任何一个时间点只有一个该内部 bash 文件的实例正在运行。为此,我想让父 bash 文件检查该名称的屏幕是否存在,然后再尝试创建它。有没有办法做到这一点?
【问题讨论】:
-
如果您喜欢
screen,请考虑尝试tmux。有很多不同,但值得转换。 -
我主要使用 screen 来实现其类似守护进程的功能,因为没有更好的选择。如果 tmux 与 CLI 的协作与 screen 一样(例如,允许通过 bash 将命令注入正在运行的屏幕中),那么我确实可以切换。
-
这个线程非常棒,非常适合我的用例......我一直在使用 pgrep 和 pkill,但是 -Q 和 -X 非常适合守护进程检查。我不同意所选的答案......在这种情况下,grepping 有很多潜在的陷阱。
-
绝对不是重复的。也非常感谢你提出了一个很棒的问题。我学到了很多!对于其他人:请参阅下面关于检查其他用户会话的我的 cmets,当您需要确保其他人当前没有运行您的脚本时,通常会出现这种情况。
标签: linux bash gnu-screen