专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Perl/Python

怎样判断子进程是否运行完毕?该如何处理

发布时间:2011-06-29 20:11:11 文章来源:www.iduyao.cn 采编人员:星星草
怎样判断子进程是否运行完毕?
1.我先创建了一个子进程:用subprocess.Popen调winrar压缩文件,生成压缩包 D:\proj_cs\data.rar

2.然后把data.rar文件上传到ftp服务器:Upload_By_FTP('D:\proj_cs\data.rar')

3.问题来了:子进程中压缩文件需要一些时间,尤其是文件大的时候,但是python不管,它是创建了子进程后马上就执行Upload_By_FTP('D:\proj_cs\data.rar'),这样就会提示:No such file or directory: 'D:\\proj_cs\\data.rar'

4.我目前暂时在1、2步骤之间插入time.sleep(x)来解决这个问题,但是时间x很难掌握,因为文件时大时小不好把握。

5.我使用time.sleep常会出现脚本运行后“没有响应”假死状态,不知道为什么。

望有高人指点一二,谢谢!

------解决方案--------------------
suprocess.call或者waitpid。具体看文档。
------解决方案--------------------
或者试试poll(),可以判断子进程是否结束,这个是非阻塞的,你可以同时做点别的事...
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: