fork download
  1. import sys
  2. from subprocess import PIPE, Popen
  3. from threading import Thread
  4.  
  5. from queue import Queue, Empty
  6.  
  7.  
  8. ON_POSIX = 'posix' in sys.builtin_module_names
  9.  
  10. def enqueue_output(out, queue):
  11. for line in iter(out.readline, b''):
  12. queue.put(line)
  13. out.close()
  14.  
  15. p = Popen(['ping', '-t', 'stackoverflow.com'], stdout=PIPE, bufsize=1, close_fds=ON_POSIX)
  16. q = Queue()
  17. t = Thread(target=enqueue_output, args=(p.stdout, q))
  18. t.daemon = True # thread dies with the program
  19. t.start()
  20.  
  21.  
  22. while True:
  23. print(q.get().decode("cp866"))
  24.  
Time limit exceeded #stdin #stdout #stderr 5s 10536KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface]
            [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
            [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
            [-w deadline] [-W timeout] [hop1 ...] destination
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
             [-l preload] [-m mark] [-M pmtudisc_option]
             [-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize]
             [-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline]
             [-W timeout] destination