Содержание check.py
:
from multiprocessing import Process
import time
import sys
def slp():
time.sleep(30)
f=open("yeah.txt","w")
f.close()
if __name__=="__main__" :
x=Process(target=slp)
x.start()
sys.exit()
В Windows 7 из cmd
, если я вызываю python check.py
, он не сразу выходит, а вместо этого ждет 30 секунд. И если я убью cmd
, ребенок умрет too- no "yeah.txt"
.
Как сделать, чтобы ребенок продолжал работать, даже если родитель убит, а также что родитель не дожидался завершения дочернего процесса?
вместо этого посмотрите на модуль подпроцесса.
То, что вы, кажется, хотите, - это запустить ваш сценарий как фоновый процесс. Решение в том, как запустить фоновый процесс в Python? вам следует указать некоторый параметр командной строки, который говорит, что ваш скрипт переходит в slp
а не создает новый процесс.