Python:收听流程启动

时间:2014-04-21 05:15:34

标签: python

通过网络驱动器复制大型数据文件时:

cmd=None
if sys.platform.startswith("darwin"): cmd=['cp', source, dest]
elif sys.platform.startswith("win"): cmd=['xcopy', source, dest, '/K/O/X']
if cmd: proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

我想知道是否有办法挂钩启动流程以获得反馈:例如网络传输数据速率......任何建议?

2 个答案:

答案 0 :(得分:1)

这应该做你想要的:)

if cmd:
  proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
  result = proc.communicate()[0]
  print result

这应该做你想要的。

答案 1 :(得分:0)

我不确定“反馈”是什么意思,但您可以使用多线程获取副本的当前状态。

你可以让一个线程一直在做

du -h file_name

此链接有更多信息 - https://unix.stackexchange.com/questions/66795/how-to-check-progress-of-running-cp