僵尸進(jìn)程怎么殺死 怎樣來清除僵尸進(jìn)程呢?
怎樣來清除僵尸進(jìn)程呢? 1. 重寫父進(jìn)程,并在子進(jìn)程死后為其收集尸體。具體方法是接收sigchld信號。子進(jìn)程結(jié)束后,它將向父進(jìn)程發(fā)送sigchld信號。父進(jìn)程收到信號后,將執(zhí)行waitpid()函數(shù)
怎樣來清除僵尸進(jìn)程呢?
1. 重寫父進(jìn)程,并在子進(jìn)程死后為其收集尸體。具體方法是接收sigchld信號。子進(jìn)程結(jié)束后,它將向父進(jìn)程發(fā)送sigchld信號。父進(jìn)程收到信號后,將執(zhí)行waitpid()函數(shù)為子進(jìn)程收集尸體。這是基于這樣的原理:即使父進(jìn)程不調(diào)用wait,內(nèi)核也會(huì)向它發(fā)送sigchld消息。雖然忽略了的默認(rèn)處理,但如果要響應(yīng)此消息,可以設(shè)置處理函數(shù)。終止父進(jìn)程。父進(jìn)程死亡后,zombie進(jìn)程將成為“孤立進(jìn)程”,并傳遞給1號進(jìn)程init。Init將始終負(fù)責(zé)清理僵尸進(jìn)程。它生成的所有僵尸進(jìn)程都將消失。