是否有Pythonic方法只运行一个程序实例?
我提出的唯一合理的解决方案是尝试在某个端口上将其作为服务器运行,然后第二个程序尝试绑定到同一个端口 - 失败.但这不是一个好主意,也许有比这更轻巧的东西?
(考虑到程序有时会失败,即段错误 - 所以像"锁定文件"这样的东西不起作用)
更新:提供的解决方案比仅存在一个不存在的服务器的端口要复杂得多且不太依赖,所以我必须使用那个.
python locking process mutual-exclusion
我在python中有一个脚本,它使用的资源不能超过一定数量的并发脚本运行.
传统上,这可以通过命名信号量来解决,但我无法在多处理模块或线程的文档中找到它们.
我是否遗漏了某些东西,或者是未被Python实现/暴露的命名信号量?更重要的是,如果答案是否定的,那么模仿一个人的最佳方式是什么?
谢谢,波阿斯
PS.由于与此问题不太相关的原因,我无法将任务聚合到持续运行的进程/守护进程或使用生成的进程 - 这两者似乎都适用于python API.
python multithreading semaphore cross-process
python ×2
cross-process ×1
locking ×1
multithreading ×1
mutual-exclusion ×1
process ×1
semaphore ×1