我正在製作一個Python程序(稱爲A),當程序收到終止信號時,它啓動一個不同的Python程序來運行(稱爲B)。當A程序關閉時,B程序仍然需要在後臺運行。在Python中,我如何在新的Python進程中產生原始關機
這是我爲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
您可以發佈你到目前爲止有什麼? – SirParselot