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] Giải mã WTERMSIG từ status

    Giải mã số tín hiệu với WTERMSIG

    Khi tiến trình con bị kết thúc bởi một tín hiệu (ví dụ SIGSEGV, SIGKILL), wait(&status) mã hoá số tín hiệu vào 7 bit thấp của status:

    • WTERMSIG(status) = status & 0x7F
    • WIFSIGNALED(status) đúng khi (status & 0x7F) khác 0 và khác 0x7F.

    Cho status của một tiến trình con bị tín hiệu kết thúc, hãy in ra số tín hiệu WTERMSIG.

    Ví dụ I/O: status = 11 → WTERMSIG = 11 & 0x7F = 11 (SIGSEGV).

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

      Một số nguyên status.

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

      0 <= status <= 65535

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

      Một số nguyên: WTERMSIG(status) = status & 0x7F.

    Ví dụ:

    Đầu vào:

    11
    

    Đầu ra:

    11

    Giải thích:

    status = 11: 7 bit thấp = 11, đây là số tín hiệu SIGSEGV. WTERMSIG(status) = status & 0x7F = 11.

    Đang tải editor...