我正在做一些测试我的刮取代码:我注意到driver.get()有时候不能完成任务,所以我用多处理做了一个测试,如果进程持续超过x秒,它应该完成,但是当我尝试下面的代码时,它只是锁定了整个调度(它没有完成):
- edit * 代码中有一个错误,但这不是重点:所以我就写了。
import multiprocessing
from time import sleep
def worker():
# i am using sleep here in the place of drive.get() to turn it
# easier to replicate: the effect i get is the same.
sleep(4)
if __name__ == '__main__':
p = multiprocessing.Process(target=worker)
p.start()
sleep(3)
p.kill()
print('passed')
我期待打印返回“passed”,但它就是不通过p.kill(),永远不会结束,我在windows10python3.9,windows7python3.7和google colab上试过。
1条答案
按热度按时间blmhpbnm1#
保罗刚刚在评论中回答了正上方的问题:)