python中fork()的調(diào)用
1、說明
fork()可以在Python程序中輕松創(chuàng)建子進(jìn)程,實(shí)現(xiàn)多進(jìn)程。
Unix/Linux操作系統(tǒng)(比如常見的Mac咯)提供了一個(gè)fork()系統(tǒng)調(diào)用,它被調(diào)用一次,返回兩次,因?yàn)椴僮飨到y(tǒng)自動(dòng)把當(dāng)前進(jìn)程(稱為父進(jìn)程)復(fù)制了一份(稱為子進(jìn)程),然后分別在父進(jìn)程和子進(jìn)程內(nèi)返回。
2、實(shí)例
importos
print("正在運(yùn)行的進(jìn)程是%s..."%os.getpid())
pid=os.fork()#如果是子進(jìn)程返回0,而父進(jìn)程返回子進(jìn)程的ID,有了fork調(diào)用,一個(gè)進(jìn)程在接到新任務(wù)時(shí)就可以復(fù)制出一個(gè)子進(jìn)程來處理新任務(wù),常見的Apache服務(wù)器就是由父進(jìn)程監(jiān)聽端口,每當(dāng)有新的http請求時(shí),就fork出子進(jìn)程來處理新的http請求。
print("\rpid是%s"%pid)
ifpid==0:
print("子進(jìn)程是%s和父進(jìn)程是%s."%(os.getpid(),os.getppid()))
else:
print("在父進(jìn)程%s中創(chuàng)建了子進(jìn)程%s."%(os.getpid(),pid))
以上就是python中fork()的調(diào)用,希望對大家有所幫助。更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。