sách gpt4 ai đã đi

signal(SIGCHLD, SIG_DFL); có nghĩa là gì?

In lại Tác giả: Space Dog Thời gian cập nhật: 2023-10-29 11:32:40 38 4
mua khóa gpt4 Nike

Tôi đã không xử lý điều này trong mã của tôi SIGCHLD. Quy trình của tôi vẫn bị xóa ngay sau khi chấm dứt. Tôi muốn nó trở thành một quá trình zombie.

Nếu tôi sẽ SIGCHLD Đặt thành SIG_DFL Vậy nó có hiệu quả không? Làm cách nào để SIGCHLD Đặt thành SIG_DFL?

Tôi muốn biến quá trình này thành một quá trình zombie để tôi có thể chờ đợi Sau đó đọc trạng thái của tiến trình con trong tiến trình cha.

1 Câu trả lời

Dựa trên lịch sử câu hỏi của bạn, có vẻ như bạn đang gặp khó khăn với vấn đề này. Sau đây là tổng quan về cách thức hoạt động của nó:

  1. Cách xử lý mặc định của SIGCHLD là bỏ qua nó. Nói cách khác, nếu bạn không làm gì cả,Tín hiệu sẽ bị bỏ qua, nhưng zombie sẽ tồn tại trong bảng quy trình. Đó là lý do tại sao bạn luôn có thểChờ đợilý do.

  2. Nếu bạn vượt qua tín hiệuThủ côngViệc thiết lập cấu hình SIGCHLD thành SIG_IGN có ý nghĩa hơi khác so với mục 1. Khi bạn thiết lập cấu hình này theo cách thủ công, hệ điều hành sẽ ngay lập tức xóa quy trình con khỏi bảng quy trình khi nó chết vàSẽ khôngTạo ra thây ma. Do đó, không còn thông tin nào của tiểu bang để lấy nữa.Chờ đợi Sẽ thất bại vì ECHILD. (Các hạt nhân Linux từ phiên bản 2.6.9 đều tuân theo hành vi này.)

Signal (SIGCHLD, SIG_DFL); có nghĩa là gì? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/23075307/

38 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com