python3 控制多进程结束
时间: 2023-09-25 21:11:07 浏览: 166
要控制多进程的结束,可以使用Python的multiprocessing模块。以下是一个简单的示例代码:
```python
import multiprocessing
import time
def worker():
print('Starting worker...')
time.sleep(5)
print('Exiting worker...')
if __name__ == '__main__':
# 创建两个进程
p1 = multiprocessing.Process(target=worker)
p2 = multiprocessing.Process(target=worker)
# 启动进程
p1.start()
p2.start()
# 等待进程结束
p1.join()
p2.join()
print('All workers have finished.')
```
在该示例中,我们创建了两个进程并启动它们。然后,我们使用join()方法等待进程结束。这样,当所有进程都执行完毕后,程序才会打印“All workers have finished.”的消息。
另外,如果你想要在程序运行时中止进程,可以使用terminate()方法。例如:
```python
import multiprocessing
import time
def worker():
print('Starting worker...')
while True:
print('Working...')
time.sleep(1)
if __name__ == '__main__':
# 创建一个进程
p = multiprocessing.Process(target=worker)
# 启动进程
p.start()
# 等待5秒钟
time.sleep(5)
# 中止进程
p.terminate()
print('Worker has been terminated.')
```
在该示例中,我们创建了一个进程并启动它。然后,我们等待5秒钟,最后使用terminate()方法中止进程。注意,中止进程并不会等待进程结束,因此程序会立即打印“Worker has been terminated.”的消息。
阅读全文