Hello everyone, I've come across a situation which is somewhat confusing to me. I googled for some details and came across another email thread on this very list but couldn't really glean a solution out of it.
I have a program (a compiled binary) for which I need to write a wrapper (in python). The wrapper will construct some sane command line defaults for this binary and then execute it while storing some statistics like who launched it, where and when. Now this program will continuously print output (it's a parallel version of make). It it receives a SIGINT (via a Ctrl-C), it will print some statistics and go on with the build. If it receives a Ctrl-\ (SIGQUIT I think), it will terminate. I want my wrapper to be able to read the output of this program and print it while allowing these two signals to be passed to it. My wrapper (let's call it wrapper.py) has something like this ------------------------------------------------------------------ def createSignalDelegator(p): def sighandler(signal,frame,pmake = p): os.kill(pmake.pid,signal) return sighandler pmake = subprocess.Popen(pmake_cmd, bufsize = 1, stdout = subprocess.PIPE, stderr = subprocess.STDOUT) signal.signal(signal.SIGINT,createSignalDelegator(pmake)) signal.signal(signal.SIGQUIT,createSignalDelegator(pmake)) for op in pmake.stdout: print "-- %s"%str(op).strip() ------------------------------------------------------------------ I've substituted my actual binary with a simple python script that continuously prints a string and which traps sigint and sigquit to appear like the binary. It seems to be receiving the signals fine (since I log it's activity into a separate file) but the problems I get are like so 1. I don't see any output (from my 'build') on screen when I run my wrapper. 2. When I send a ^C to the wrapper, I don't see the output from the build script. 3. I sometimes get a pipe error and the whole wrapper dies leaving the other program running. I'd appreciate any insights into the problem. I'm not sure where to start looking. Thanks. -- ~noufal _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor