Tài liệu tham khảo dễ quét cho mọi tín hiệu tiến trình POSIX/Linux chuẩn — từ SIGHUP đến SIGSYS — cho thấy số của mỗi tín hiệu, hành động mặc định (Term, Core, Ign, Stop, Cont), có thể bắt được hay không, điều gì kích hoạt nó và mã thoát shell tương ứng (128+N). Trong trình duyệt, miễn phí.

Mọi tín hiệu tiến trình POSIX/Linux chuẩn, được giải thích. Tất cả chạy trong trình duyệt của bạn từ một tham chiếu tích hợp — không có gì gửi lên máy chủ.

Tín hiệu Số Hành động mặc định Có thể bắt Mô tả Mã thoát
Không có tín hiệu nào khớp tìm kiếm của bạn.
Thử một tên hoặc số khác — ví dụ SIGTERM, 11 hoặc segmentation.
Ngoài những tín hiệu này, Linux còn cung cấp các tín hiệu thời gian thực từ SIGRTMIN đến SIGRTMAX (thường là tín hiệu 34–64). Chúng không có ý nghĩa định sẵn và được phân phối theo thứ tự được đảm bảo — ứng dụng tự gán mục đích cho chúng.
Số tín hiệu hiển thị là mặc định cho ABI x86/ARM. Một vài tín hiệu mang số khác trên các kiến trúc khác (ví dụ Alpha, MIPS và SPARC), nên trong script luôn ưu tiên tên ký hiệu (SIGKILL) hơn số thô (9).

Giới thiệu về Tín hiệu Linux

Tài liệu tham khảo Tín Hiệu Linux liệt kê mọi tín hiệu tiến trình POSIX/Linux tiêu chuẩn, từ SIGHUP đến SIGSYS, trong một bảng dễ lướt xem. Mỗi dòng hiển thị số hiệu tín hiệu, hành động mặc định của nó — Chấm dứt, Đổ lõi (core dump), Bỏ qua, Dừng hoặc Tiếp tục — liệu một tiến trình có thể bắt được nó hay không, điều gì thường kích hoạt nó, và mã thoát shell (128 + N) bạn thấy khi một tiến trình chết vì nó.

Cột mã thoát đó khép lại vòng lặp mà nhà phát triển gặp phải hàng ngày: một container thoát với mã 137 đã bị SIGKILL (9) buộc dừng, một sự cố với mã 139 là lỗi phân đoạn từ SIGSEGV (11), và một lần tắt sạch sẽ với mã 143 đến từ SIGTERM (15). Tìm kiếm hoạt động theo tên, số, mã thoát hoặc ý nghĩa, nên bạn có thể bắt đầu từ bất kỳ manh mối nào bạn có.

Hai chú thích bao quát những phần mà tài liệu tham khảo thường bỏ qua: các tín hiệu thời gian thực SIGRTMIN đến SIGRTMAX, không có ý nghĩa định trước và được gửi theo thứ tự đảm bảo, và lưu ý về kiến trúc — một vài số hiệu tín hiệu khác nhau trên Alpha, MIPS và SPARC, đó là lý do script nên dùng tên biểu tượng. Mọi thứ chạy trong trình duyệt của bạn.

Cách sử dụng Tín hiệu Linux

  1. Tìm kiếm một tín hiệu theo tên (SIGKILL), số (9), mã thoát shell (137) hoặc một từ khóa như "segmentation".
  2. Đọc dòng: số hiệu, hành động mặc định, liệu nó có thể bị bắt hay không, và điều gì kích hoạt nó.
  3. Dùng cột mã thoát để chuyển đổi trạng thái shell 128+N trở lại thành tín hiệu đã giết tiến trình.
  4. Sao chép tên tín hiệu hoặc mã thoát bằng các nút sao chép của dòng đó.
  5. Kiểm tra các ghi chú về tín hiệu thời gian thực và cách đánh số theo kiến trúc nếu bạn đang viết script di động.

Câu hỏi thường gặp

SIGTERM (15) yêu cầu một tiến trình thoát một cách lịch sự — nó có thể bị bắt, nên tiến trình có thể dọn dẹp trước. SIGKILL (9) chấm dứt ngay lập tức ở tầng kernel và không thể bị bắt, chặn hay bỏ qua. Luôn thử SIGTERM trước khi dùng đến kill -9.

SIGKILL và SIGSTOP. Kernel thực thi trực tiếp cả hai, nên không có handler nào có thể chặn chúng — SIGKILL luôn chấm dứt tiến trình và SIGSTOP luôn tạm dừng nó.

Khi một tiến trình bị một tín hiệu giết chết, shell báo cáo 128 cộng với số hiệu tín hiệu. Vậy 139 là 128 + 11: tiến trình chết vì SIGSEGV, một lỗi phân đoạn. Bảng liệt kê mã thoát này bên cạnh mỗi tín hiệu tử vong.

SIGRTMIN đến SIGRTMAX — thường là số 34 đến 64 trên Linux. Không giống các tín hiệu tiêu chuẩn, chúng không mang ý nghĩa định trước và được xếp hàng và gửi theo thứ tự đảm bảo, nên các ứng dụng tự gán mục đích riêng cho chúng.

Vì một vài số hiệu tín hiệu khác nhau giữa các kiến trúc CPU như Alpha, MIPS và SPARC. Tên biểu tượng — kill -TERM thay vì kill -15 — có cùng ý nghĩa ở mọi nơi, nên đó là lựa chọn di động.

Có, hoàn toàn miễn phí. Toàn bộ bảng được tích hợp trong trang và mọi thao tác tìm kiếm và sao chép diễn ra trong trình duyệt của bạn.

Cần trợ giúp?
Gặp sự cố với công cụ này? Hãy cho đội ngũ của chúng tôi biết.
Báo cáo sự cố

Thêm công cụ miễn phí này vào trang web của riêng bạn — sao chép và dán mã bên dưới.