Mercurial > hg > config
view python/example/waiter.py @ 923:b25fbb9257ec default tip
Breeze GTK theme
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Thu, 14 Nov 2024 09:30:28 -0800 |
parents | 9f85111f3dee |
children |
line wrap: on
line source
#!/usr/bin/env python """ wait for a process writing to stdout to keep an (e.g.) ssh connection alive """ import subprocess import sys import time KEEPALIVE = 300 # s SLEEP = 1 def main(args=sys.argv[1:]): """CLI""" last = start = time.time() proc = subprocess.Popen(args) while proc.poll() is None: if time.time() - last > KEEPALIVE: last = time.time() print ("[{} s] waiting for process: {}".format(last-start, subprocess.list2cmdline(args))) sys.stdout.flush() exit(proc.poll()) if __name__ == '__main__': main()