Advertisement
Guest User

Untitled

a guest
Jan 31st, 2015
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #! /usr/bin/env python
  2. #
  3. # stddump - A command line tool to capture std{in,out,err}
  4. #
  5. # Copyright (C) 2011 Sebastian Pipping <sebastian@pipping.org>
  6. # Licensed under GPL v3 or later
  7. #
  8. # 2011-03-01 14:30 UTC+1
  9.  
  10. import subprocess
  11. import sys
  12. import os
  13.  
  14. try:
  15. command = os.environ['STDDUMP_COMMAND']
  16. except:
  17. print "stddump: Variable STDDUMP_COMMAND need be set, cannot continue"
  18. sys.exit(1)
  19.  
  20. args = [command, ] + sys.argv[1:]
  21.  
  22. stdin_grabber = subprocess.Popen(["tee", "stdin"],
  23. stdout=subprocess.PIPE)
  24. monitee = subprocess.Popen(args,
  25. stdin=stdin_grabber.stdout,
  26. stdout=subprocess.PIPE,
  27. stderr=subprocess.PIPE)
  28. stdout_grabber = subprocess.Popen(["tee", "stdout"],
  29. stdin=monitee.stdout)
  30. stderr_grabber = subprocess.Popen(["tee", "stderr"],
  31. stdin=monitee.stderr,
  32. stdout=sys.stderr)
  33.  
  34. monitee.wait()
  35. stdin_grabber.terminate()
  36. sys.exit(monitee.returncode)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement