首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

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

2012-02-16 
怎样判断子进程是否运行完毕?1.我先创建了一个子进程:用subprocess.Popen调winrar压缩文件,生成压缩包 D:\

怎样判断子进程是否运行完毕?
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(),可以判断子进程是否结束,这个是非阻塞的,你可以同时做点别的事...

热点排行