Computer >> Máy Tính >  >> Lập trình >> C ++

Quá trình xác sống và trẻ mồ côi trong Linux

Thông tin chi tiết về quy trình zombie, mồ côi và daemon như sau

Xử lý xác sống

Quá trình zombie là một quá trình mà quá trình thực thi đã hoàn tất nhưng nó vẫn có một mục trong bảng quá trình. Các quy trình xác sống thường xảy ra đối với các quy trình con, vì quy trình mẹ vẫn cần đọc trạng thái thoát của quy trình con của nó. Khi điều này được thực hiện bằng cách sử dụng lệnh gọi hệ thống chờ, quá trình zombie sẽ bị loại bỏ khỏi bảng quá trình. Điều này được gọi là thu hoạch quá trình xác sống.

Sơ đồ thể hiện việc tạo và kết thúc quy trình thây ma được đưa ra như sau

Quá trình xác sống và trẻ mồ côi trong Linux

Các quy trình xác sống không sử dụng bất kỳ tài nguyên hệ thống nào nhưng chúng giữ lại ID quy trình của mình. Nếu có nhiều quy trình zombie, thì tất cả ID quy trình có sẵn đều do chúng độc quyền. Điều này ngăn các quy trình khác chạy vì không có sẵn ID quy trình.

Quá trình mồ côi

Các quy trình mồ côi là những quy trình vẫn đang chạy mặc dù quy trình mẹ của chúng đã kết thúc hoặc kết thúc. Một quy trình có thể bị bỏ sót một cách cố ý hoặc vô ý.

Một quy trình cố ý chạy trong nền mà không có bất kỳ hỗ trợ thủ công nào. Điều này thường được thực hiện để bắt đầu một dịch vụ đang chạy vô thời hạn hoặc để hoàn thành một công việc đang hoạt động lâu dài mà người dùng không chú ý.

Một quy trình không chủ ý được tạo ra khi quy trình mẹ của nó bị treo hoặc kết thúc. Có thể tránh các quy trình mồ côi không chủ ý bằng cách sử dụng cơ chế nhóm quy trình.