在 Python 中,如何在原始进程关闭时生成新的 Python 进程

In Python, how do I spawn in a new Python Process while the orginal is shutting down

我正在制作一个 python 程序(称为 A),当该程序收到终止信号时,它会启动一个与 运行 不同的 python 程序(称为 B)。当A的程序关闭时,B程序还需要在后台运行ning。

这是我为 A 编写的程序中清理功能的一部分。而且我无权对 B 进行任何更改。(B 是其他人的项目,不允许更改它只是构建在它上面)

我一直在寻找使用 Popen 或 os.spawn 函数,当它接收到 SIGTERM 或 SIGINT 信号时,但出现错误。 当我尝试 os.spawn 时,它给了我一个错误,说找不到文件名 'B.py programArgs',它认为 progarmArgs 是文件名的一部分。

任何我能做的想法。

代码是这样的:

def main():
    signal.signal(signal.SIGINT, onExit)
    signal.signal(signal.SIGTERM, onExit)

def onExit(sig, frame):
    pid = os.spawnl(os.P_NOWAIT, "usr/bin/python3", "python3", "/home/pi/filename", " programArg" )

然后它给我错误:

Python3: can't open file '/home/pi/filename progarmArg': [Errno 2] No such file or directory

假设我没有遗漏任何东西这应该有效

import subprocess

p1 = subprocess.Popen(['python','B location'], stdout=None)