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á trị $? sau khi tiến trình bị tín hiệu

    Giá trị $? sau khi tiến trình bị tín hiệu

    Cho status thô từ waitpid (theo quy ước Linux ở bài WIFSIGNALED). Bash đặt biến $? như sau:

    • Nếu thoát bình thường (status & 0x7f == 0): $? = (status >> 8) & 0xff.
    • Nếu bị tín hiệu kết thúc: $? = 128 + (status & 0x7f).

    In giá trị $?.

    Ví dụ

    Vào: 9 (bị SIGKILL) → $? = 128 + 9 = 137.

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

      Một dòng chứa số nguyên status.

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

      0 ≤ status ≤ 65535.

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

      Một số nguyên là giá trị $?.

    Ví dụ:

    Đầu vào:

    9
    

    Đầu ra:

    137

    Giải thích:

    7 bit thấp = 9 ≠ 0 → bị SIGKILL, $? = 128 + 9 = 137.

    Đang tải editor...