python 多进程结束
时间: 2023-07-24 10:37:18 浏览: 198
在 Python 中,要结束一个进程,可以使用以下方法:
1. 使用 `terminate()` 方法终止进程:
```python
import multiprocessing
import time
def worker():
print('Worker process started')
time.sleep(10)
print('Worker process finished')
if __name__ == '__main__':
p = multiprocessing.Process(target=worker)
p.start()
time.sleep(5)
p.terminate()
```
在这个例子中,我们创建了一个子进程 `p`,并在其中运行 `worker` 函数。在主进程中,我们等待 5 秒钟,然后使用 `terminate()` 方法终止子进程。
2. 使用 `join()` 方法等待进程结束:
```python
import multiprocessing
import time
def worker():
print('Worker process started')
time.sleep(10)
print('Worker process finished')
if __name__ == '__main__':
p = multiprocessing.Process(target=worker)
p.start()
p.join()
```
在这个例子中,我们创建了一个子进程 `p`,并在其中运行 `worker` 函数。在主进程中,我们使用 `join()` 方法等待子进程结束。
使用 `terminate()` 方法可以强制结束进程,但可能会导致一些资源无法正常释放,因此建议在必要的情况下使用。如果你想等待进程正常结束,应该使用 `join()` 方法。
阅读全文