Skip to content Skip to sidebar Skip to footer

Python Checking If A Fork() Process Is Finished

Just wondering if some one could help me out. The problem I'm having is that I os.fork() to get several bits of information and send them to a file, but checking to see if the fork

Solution 1:

To wait for the child process to terminate, use one of the os.waitXXX() functions, such as os.waitpid(). This method is reliable; as a bonus, it will give you the status information.

Solution 2:

While you can use os.fork() and os.wait() (see below for an example), you are probably better off using methods from the subprocess module.

import os, sys

child_pid = os.fork()
if child_pid == 0:
    # child process
    os.system('ping -c 20 www.google.com >/tmp/ping.out')
    sys.exit(0)

print"In the parent, child pid is %d" % child_pid
#pid, status = os.wait()
pid, status = os.waitpid(child_pid, 0)
print"wait returned, pid = %d, status = %d" % (pid, status)

Post a Comment for "Python Checking If A Fork() Process Is Finished"