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] Tái định tuyến nhiều fd bằng dup2

    Tái định tuyến nhiều fd bằng dup2

    Mỗi fd trỏ tới một đích (tên file/thiết bị). dup2(a, b) làm fd b trỏ tới cùng đích của fd a.

    Cho bảng fd→đích ban đầu và một dãy lệnh dup2 a b, in bảng fd→đích cuối cùng (fd tăng dần).

    Ví dụ I/O: fd 1→tty, 2→tty; dup2 1 2 → 2 vẫn tty.

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

      Dòng 1: số fd m. m dòng <fd> <đích>. Dòng kế: số lệnh k. k dòng dup2 a b.

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

      Số fd ≤ 50.

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

      In bảng fd→đích cuối, mỗi dòng <fd> <đích>, fd tăng dần.

    Ví dụ:

    Đầu vào:

    3
    0 tty
    1 tty
    2 tty
    1
    dup2 1 2
    

    Đầu ra:

    0 tty
    1 tty
    2 tty

    Giải thích:

    dup2 1 2: fd 2 trỏ cùng đích fd 1 (tty) — không đổi vì cả hai đã là tty.

    Đang tải editor...