據我所知,當一個進程沒有很好地清理(它的資源沒有被回收/收割)的時候,就會創建一個殭屍。在調用fork()創建一個新進程之後,父進程應該總是在該進程上調用waitpid來清理它。UNIX殭屍和守護進程
我也已經瞭解到,一個守護進程是通過分叉自己創建的一個孩子創建的,然後讓孩子死亡。很明顯,UNIX中的init進程(pid#1)會在您執行此操作後收集進程的保管。
我想知道的是 - 據我所知,當父母死亡時,它會自動清理孩子 - 那麼殭屍是如何在第一個地方創建的?其次,守護進程的父母會死亡,爲什麼守護進程不被認爲是殭屍?
任何人想對匿名downvote和close請求發表評論嗎?我覺得這是一個非常穩固的問題。 –
有人可能會認爲這更多是一個服務器故障問題,但流程管理與* nix編程有關,所以我沒有看到太多問題。 –
父母死亡的進程是孤兒,而不是殭屍。殭屍是'活的死者';孤兒可以是社會的生產性成員。 –