Xah Lee wrote: > suppose i'm calling two system processes, one to unzip, and one to > “tail” to get the last line. How can i determine when the first > process is done? > > Example: > > subprocess.Popen([r"/sw/bin/gzip","-d","access_log.4.gz"]); > > last_line=subprocess.Popen([r"/usr/bin/tail","-n 1","access_log.4"], > stdout=subprocess.PIPE).communicate()[0] > > of course, i can try workarounds something like os.system("gzip -d > thiss.gz && tail thiss"), but i wish to know if there's non-hack way to > determine when a system process is done. > > Xah > xah at xahlee.org > ∑ http://xahlee.org/ > I think the idea is you wait for the first call to subprocess.call to finish before executing the second... http://docs.python.org/lib/node231.html call( *args, **kwargs) Run command with arguments. *Wait for command to complete*, then return the returncode attribute. The arguments are the same as for the Popen constructor. Example: retcode = call(["ls", "-l"])
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4