Mỗi tín hiệu có một disposition: mặc định (DFL), bỏ qua (IGN), hoặc có handler (HND). Ngoài ra có mask (chặn). Xử lý sự kiện:
SET n DFL|IGN|HND: đặt disposition cho n (9/19 luôn DFL, lệnh SET với 9/19 bị bỏ qua).BLOCK n / UNBLOCK n: chặn/bỏ chặn (9/19 không chặn được).SIG n: tín hiệu đến.
IGN → vứt bỏ (không tính); nếu HND → đếm handled += 1; nếu DFL → đếm defaulted += 1.UNBLOCK n và n đang pending: giao ngay theo disposition hiện tại (cập nhật handled/defaulted, bỏ nếu IGN), xóa pending.Mẹo: một tín hiệu đang pending mà sau đó bị SET ... IGN thì khi giao sẽ bị vứt bỏ.
In 3 số trên một dòng: <handled> <defaulted> <còn_pending> (số phần tử còn pending cuối cùng).
| Số hiệu | Tên | Hành động mặc định |
|---|---|---|
| 1 | SIGHUP | Term |
| 2 | SIGINT | Term |
| 3 | SIGQUIT | Core |
| 9 | SIGKILL | Term |
| 10 | SIGUSR1 | Term |
| 11 | SIGSEGV | Core |
| 12 | SIGUSR2 | Term |
| 13 | SIGPIPE | Term |
| 14 | SIGALRM | Term |
| 15 | SIGTERM | Term |
| 17 | SIGCHLD | Ign |
| 18 | SIGCONT | Cont |
| 19 | SIGSTOP | Stop |
| 20 | SIGTSTP | Stop |
Xem test mẫu.
Nhiều dòng sự kiện như mô tả.
Số sự kiện ≤ 2000.
<handled> <defaulted> <số_pending_còn_lại>.
Ví dụ:
Đầu vào:
SET 2 HND
SIG 2
SIG 2
Đầu ra:
2 0 0
Giải thích:
Đang tải editor...