import sys from subprocess import Popen, PIPE import traceback if __name__ == '__main__': if len(sys.argv) == 1: cmd = '%s %s %s' % (sys.executable, sys.argv[0], -1,) cmd = cmd.split() try: p = Popen(cmd, stdout=PIPE) p.stdout.close() except IOError: traceback.print_exc() try: p = Popen(cmd, stdout=PIPE, stdin=PIPE) p.stdout.close() p.stdin.close() except IOError: traceback.print_exc() try: p = Popen(cmd, stdout=PIPE, stdin=PIPE, stderr=PIPE) p.stdout.close() p.stdin.close() p.stderr.close() except IOError: traceback.print_exc() else: sys.exit(int(sys.argv[1]))