Skip to main content
 首页 » 编程设计

python之检查现有进程是否存在之如果存在,则与其通信,否则创建一个新进程

2025年05月04日8duanxz

我确定以前有人问过这个问题,但我找不到。

我写了一个 Python 程序,给定一个目录,它使用一个非常简单的启发式方法来确定如何“解压”它的内容以及到哪个目标目录。

只要新下载完成,就会执行此程序。如果很多下载几乎同时完成,我会得到很多同时解包的进程。我想通过重写程序的大部分来一次只解压一个目录来解决这个问题。

因此,为了实现这一点,我想我会使用一个“lock/PID”文件,其中包含任何当前正在执行的程序的 PID。如果锁/PID 文件存在,新产生的进程应该简单地发送一些类似 ("queue", "D:/some/directory") 的内容到现有进程并让该进程解压完成当前解包后的那个目标。

我如何在 Python 中实现这一点?这必须适用于 Windows 系统,但最好也适用于 GNU/Linux。

请您参考如下方法:

如果你只是想检查PID文件是否存在,你可以使用:os.path

os.path.exists(path)