Python 進(jìn)程描述符是一個(gè)十分重要的概念,它是操作系統(tǒng)中用于標(biāo)識(shí)和管理進(jìn)程的一個(gè)數(shù)據(jù)結(jié)構(gòu)。Python 提供了名為 os 的標(biāo)準(zhǔn)庫(kù),其中包含了一些與進(jìn)程相關(guān)的函數(shù),比如 os.getpid() 可以用來獲取當(dāng)前進(jìn)程的進(jìn)程 ID,os.kill(pid, sig) 可以用來向指定的進(jìn)程發(fā)送信號(hào)。在此基礎(chǔ)上,Python 還提供了一些更為高級(jí)、便捷的進(jìn)程控制工具。
import multiprocessing def worker(): print(f"Worker process ID: {os.getpid()}") if __name__ == "__main__": multiprocessing.set_start_method("spawn") num_processes = 4 processes = [] for i in range(num_processes): p = multiprocessing.Process(target=worker) processes.append(p) p.start() for p in processes: p.join()
以上代碼演示了如何使用 Python 的 multiprocessing 庫(kù)創(chuàng)建并啟動(dòng)多個(gè)進(jìn)程。首先,我們調(diào)用了 multiprocessing.set_start_method("spawn"),這是為了在 Windows 平臺(tái)下避免出現(xiàn)錯(cuò)誤。接著,我們使用循環(huán)創(chuàng)建了 num_processes 個(gè)進(jìn)程,并將它們放進(jìn) processes 列表中。最后,我們又使用循環(huán)調(diào)用了每一個(gè)進(jìn)程的 join() 方法,并等待它們?nèi)拷Y(jié)束。