我确定以前有人问过这个问题,但我找不到。
我写了一个 Python 程序,给定一个目录,它使用一个非常简单的启发式方法来确定如何“解压”它的内容以及到哪个目标目录。
只要新下载完成,就会执行此程序。如果很多下载几乎同时完成,我会得到很多同时解包的进程。我想通过重写程序的大部分来一次只解压一个目录来解决这个问题。
因此,为了实现这一点,我想我会使用一个“lock/PID”文件,其中包含任何当前正在执行的程序的 PID。如果锁/PID 文件存在,新产生的进程应该简单地发送一些类似 ("queue", "D:/some/directory")
的内容到现有进程并让该进程解压完成当前解包后的那个目标。
我如何在 Python 中实现这一点?这必须适用于 Windows 系统,但最好也适用于 GNU/Linux。
最佳答案
如果你只是想检查PID文件是否存在,你可以使用:os.path
os.path.exists(path)
关于python - 检查现有进程是否存在 - 如果存在,则与其通信,否则创建一个新进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10102312/