0
我有一個用Python編寫的輪詢作業,每15分鐘執行一次,以檢查作業表中條目的狀態是否爲True
。如果狀態爲true,那麼我需要從表中獲取值並將它們作爲參數傳遞給另一個執行某些操作的腳本。Python:在創建子進程後終止父進程
我正在Python的Multiprocessing
模塊中使用Process
創建子進程,但我無法在啓動這些進程後退出輪詢作業(父腳本)。輪詢工作一直在等待,直到孩子完成爲止,即使在創建孩子後寫了一個sys.exit()
。
#pollingjob.py
import sys
import multiprocessing
from multiprocessing import Process
from secondscript import secondscriptfunction
def createParallelBatches(a,b,c):
for i in [1,2,3]:
p1 = Process(target=secondscriptfunction,args=(a,b,c)).start()
sys.exit()
if __name__=='__main__':
# Check the table for *status=True* rows
# If such rows exit call CreateParallelBatches with the column values
什麼我不理解的是,爲什麼sys.exit()
不會讓我退出程序離開產生的進程爲孤兒。我試過subprocess
模塊,但它的行爲方式也是一樣的。我不希望等待孩子完成的父進程。任何幫助,將不勝感激。謝謝。
您正在使用哪種操作系統,如果是Linux,那麼當您啓動流程時,我有一個使用額外sh命令的解決方案。我不熟悉Windows腳本 – minhhn2910
它是Linux。不是Windows –