仅允许一个 Python 脚本实例

3 投票
2 回答
3407 浏览
提问于 2025-04-16 01:15

可能重复的问题:
Python:确保程序只有一个实例

怎么才能确保只有一个Python脚本在运行呢?我遇到了Python僵尸进程的问题。我试着用 open("lock","w") 创建一个写锁,但Python并不会告诉我这个文件是否已经被锁住,它只是一直在等。

2 个回答

1

你的问题和这个很像:在Python中打开文件以独占访问的最佳方法是什么? 那里的回答应该能帮助你解决问题。

(使用标志组合 portalocker.LOCK_EX!|portalocker.LOCK_NB 可以让你快速返回。如果文件被其他进程锁定,你的脚本会抛出一个异常。)

3

试试这个:

import os
os.open("lock", os.O_CREAT|os.O_EXCL)

你可以查看 os.open 的文档,还有 它的标志

撰写回答