fork - Forking and exiting from child in python -



fork - Forking and exiting from child in python -

i'm trying fork process, in kid , exit (see code below). exit first tried sys.exit turned out problem because intermediate function caught systemexit exception (as in code below) , kid didn't terminate. figured out should utilize os._exit instead. kid terminates, still see defunct processes lying around (when ps -ef). there way avoid these?

import os, sys def fctn(): if os.fork() != 0: homecoming 0 # sys.exit(0) os._exit(0) while true: str = raw_input() try: print(fctn()) except systemexit: print('caught systemexit.')

edit: not python question more of unix question (so guess results may vary depending on system). ivan's reply suggests should like

def handlesigchld(sig, frame): os.wait() signal.signal(signal.sigchld, handlesigchld)

while me simple

signal.signal(signal.sigchld, signal.sig_ign)

also works.

and it's true should utilize library...

you should wait() kid remove zombie process entry table.

finally, offload tasks children, may improve off multiprocessing.

python fork system exit

Comments

Popular posts from this blog

formatting - SAS SQL Datepart function returning odd values -

c++ - Apple Mach-O Linker Error(Duplicate Symbols For Architecture armv7) -

php - Yii 2: Unable to find a class into the extension 'yii2-admin' -