I am having a cherrypy application which calls a subprocess (subprocess.Popen), it works fine most of the time but sometimes it does not work. When I restart the server, the subprocess.popen get called and works fine. Is there a way to monitor threads in cherrypy and check why the subprocess.popen was not called.
Update: The thread continues the rest part of the code and I could the response, only problem is the subprocess is not called
sample code
def fn_test(self,**args):
    #return args['md5'].split()[0]
    final_html="the complete html"
    for i in ['ab','cd','ef']:
        if args.has_key(i):
            cherrypy.session[i]='checked'
        else:
            cherrypy.session[i]=''
    subprocess.Popen(["python","test.py",'test','aval','bval'])
    return final_html