Theo wikipedia , một quy trình zombie là một quy trình đã hoàn thành việc thực thi, nhưng vẫn có một mục trong bảng quy trình. Nói cách khác, một quá trình zombie đã hoàn thành, nhưng nó vẫn chưa được dọn sạch.
Khi một quá trình kết thúc, mã trả về của nó cần được trả về cho tiến trình cha. Thông thường, điều này xảy ra ngay lập tức, vì vậy bạn không thấy quá trình zombie. Tuy nhiên, đôi khi, quá trình cha mẹ không hợp tác và zombie ở lại trong bảng quy trình vô thời hạn.
Nếu bạn muốn thoát khỏi quá trình zombie, bạn có ba lựa chọn :
- Chờ đợi. Hy vọng nó sẽ tự làm sáng tỏ.
- Gửi một SIGCHLD cho cha mẹ của zombie. Nếu nó hoạt động chính xác, nó sẽ lấy mã trả về của quy trình zombie và hệ thống có thể gặt hái quy trình zombie.
- Giết quá trình cha mẹ. Khi bạn giết một tiến trình, con của nó được init nhận nuôi, nó sẽ dọn sạch mọi thứ cho bạn.