[英]Close Python Process on MacOsx after script runs
MacOSx上的此2.7 Python腳本不會關閉Python進程。 腳本運行后,有8個處於休眠狀態的進程。 如何在腳本結束時關閉它們? *.terminate
不起作用。
import multiprocessing
newlist = range(1,30)
ULs = [row for row in newlist]
print ULs
def ULtask(ul):
print 1234
def start_process():
print 'Start', multiprocessing.current_process().name
p_size = multiprocessing.cpu_count() * 2
pool = multiprocessing.Pool(processes=p_size, initializer=start_process, maxtasksperchild=400,)
pool_outputs= pool.map(ULtask, ULs)
pool.close() # no more tasks
pool.join() # wrap up current tasks
# pool.terminate()
print 'Pool :', pool_outputs
del pool
print "Finished UL"
嘗試此線程的最后一個技巧( python multiprocessing pool終止 )。 看起來好像把它終止在close和join調用之間。
我在我的機器(mac osx)上嘗試了一個簡單的池,並且該池進程僅通過close&join調用就可以正常終止,但是終止並沒有任何損害。 看起來join會殺死處於關閉狀態或終止狀態的池的進程(如果嘗試在沒有關閉狀態的情況下加入或在終止狀態之前終止,則可以從錯誤消息中看到這一點。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.