Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành Unix] Phát hiện tiến trình zombie

    Phát hiện tiến trình zombie

    Một tiến trình zombie (trạng thái Z) là tiến trình đã kết thúc (exit) nhưng tiến trình cha chưa gọi wait() để thu nhận trạng thái kết thúc. Tiến trình zombie không còn chạy nhưng vẫn chiếm một mục trong bảng tiến trình cho tới khi được cha thu hồi (reap).

    Mỗi tiến trình cho biết: đã exited chưa (1/0) và đã được cha reaped (wait) chưa (1/0). Một tiến trình là zombie khi exited = 1 và reaped = 0.

    Ví dụ

    Tiến trình đã exit nhưng chưa được wait là zombie.

    • Định dạng đầu vào:

      Dòng 1: n. n dòng: pid exited reaped (mỗi cờ là 0 hoặc 1).

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 1000.

    • Định dạng đầu ra:

      Dòng 1: số zombie. Dòng 2: danh sách pid zombie tăng dần (rỗng nếu không có).

    Ví dụ:

    Đầu vào:

    3
    1 0 0
    2 1 0
    3 1 1
    

    Đầu ra:

    1
    2

    Giải thích:

    Tiến trình 2 đã exit nhưng chưa được wait nên là zombie. Tiến trình 3 đã được reap nên không phải.

    Đang tải editor...