JavaScript is required

Điều gì xảy ra với một tiến trình khi ta kill tiến trình cha của nó:

A.

Không có gì ảnh hưởng

B.

Tiến trình con sẽ chết theo

C.

Chương trình sẽ đọc lại file cấu hình

D.

Sẽ có một tiến trình con mới sinh ra

Trả lời:

Đáp án đúng: B


Khi một tiến trình cha bị kill (bị kết thúc), điều gì xảy ra với các tiến trình con của nó phụ thuộc vào hệ điều hành và cách chúng được tạo ra. Trong hầu hết các hệ thống Unix và Linux, tiến trình con sẽ không tự động chết theo. Thay vào đó, chúng sẽ được 'nhận nuôi' bởi tiến trình `init` (có PID là 1). Tiến trình `init` sẽ trở thành tiến trình cha mới của chúng và chịu trách nhiệm thu dọn chúng khi chúng kết thúc. * **A. Không có gì ảnh hưởng:** Phương án này không chính xác hoàn toàn. Tiến trình con vẫn tiếp tục chạy, nhưng có sự thay đổi về tiến trình cha. * **B. Tiến trình con sẽ chết theo:** Đây là đáp án đúng. Trong nhiều hệ thống, khi tiến trình cha bị kill, các tiến trình con sẽ nhận được tín hiệu SIGHUP (hangup) và có thể bị kết thúc theo. Tuy nhiên, hành vi này có thể khác nhau tùy thuộc vào cách các tiến trình con được tạo ra và cách hệ thống được cấu hình. Tuy nhiên, đây là đáp án chính xác nhất trong các lựa chọn được đưa ra. * **C. Chương trình sẽ đọc lại file cấu hình:** Phương án này không liên quan đến việc kill tiến trình cha. * **D. Sẽ có một tiến trình con mới sinh ra:** Phương án này cũng không liên quan. Do đó, đáp án đúng nhất là B.

Câu hỏi liên quan