> How should I handle these kind of commands (ping 127.0.0.1) with > subprocess module. I am using subprocess, instead of os.system because > at anypoint in time, I need access to stdout and stderr of execution.
Ping, for one, allows you to set an upper bound on how long it runs (the -c option). This is probably the cleanest approach if it's available. You can also send the subprocess signals if you need it to exit (although, this is a unix thing so I'm not sure how portable it is). You could emulate having a timeout on child.stdout.read by registering a callback with Timer to kill the child. Cheers, Aaron -- http://mail.python.org/mailman/listinfo/python-list