色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 終止多進程

阮建安1年前10瀏覽0評論

Python 是一門強大的編程語言,最近越來越多的開發人員開始關注多進程的并發性能。在使用 Python 多進程時,如果進程運行出現問題,你可能需要終止多個進程。下面我們就來看一下如何在 Python 中終止多進程。

import multiprocessing
import os
import signal
def worker():
print('...worker start.')
while True:
pass
def create_processes():
print('...creating processes.')
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker)
p.start()
jobs.append(p.pid)
print('...created processes: {}'.format(jobs))
return jobs
def kill_processes(jobs):
print('...killing processes: {}'.format(jobs))
for pid in jobs:
os.kill(pid, signal.SIGTERM)
if __name__ == '__main__':
jobs = create_processes()
try:
while True:
pass
except KeyboardInterrupt:
print('...killing processes on interrupt.')
kill_processes(jobs)

在上述示例代碼中,我們創建了一個 worker 函數,用于運行多進程。在 create_processes 函數中,我們通過 multiprocessing 模塊創建了 5 個進程,并將進程的 pid 存入到 jobs 列表中。在主進程中,我們通過一個 try-except 塊來監聽鍵盤終止操作,當檢測到用戶按下 Ctrl+C 時,我們會執行 kill_processes 函數來終止所有子進程。

這里我們使用了 Python 的 os 模塊和 signal 模塊,os.kill 函數用于發送終止信號,signal.SIGTERM 為終止信號。具體可以查看 Python 文檔了解詳細用法。

總結來說,在 Python 中終止多進程,需要使用鍵盤監聽等方式來檢測終止信號,再通過 os 模塊和 signal 模塊發送終止信號給子進程。