JavaScript is required

Để kết thúc tiến trình có PID=1, ta thi hành lệnh:

A.

kill –15 1

B.

kill –9 1

C.

kill –p 1

D.

Không có lệnh nào

Trả lời:

Đáp án đúng: B


Câu hỏi này kiểm tra kiến thức về lệnh kill trong Linux/Unix và cách sử dụng signal để kết thúc một tiến trình. Tiến trình có PID=1 thường là tiến trình init hoặc systemd, đây là tiến trình quan trọng nhất của hệ thống, chịu trách nhiệm khởi tạo và quản lý các tiến trình khác. Việc kết thúc tiến trình này sẽ khiến hệ thống bị sập hoặc hoạt động không ổn định.

Phương án A (kill -15 1): Lệnh này gửi tín hiệu TERM (15) đến tiến trình có PID=1. Tín hiệu TERM là tín hiệu kết thúc một cách "nhẹ nhàng", cho phép tiến trình có thời gian để dọn dẹp trước khi kết thúc. Tuy nhiên, tiến trình init (hoặc systemd) thường được thiết kế để bỏ qua tín hiệu này để tránh bị kết thúc một cách vô tình.

Phương án B (kill -9 1): Lệnh này gửi tín hiệu KILL (9) đến tiến trình có PID=1. Tín hiệu KILL là tín hiệu kết thúc "cứng", tiến trình sẽ bị kết thúc ngay lập tức mà không có cơ hội dọn dẹp. Tuy nhiên, ngay cả tín hiệu KILL cũng không thể kết thúc tiến trình init (hoặc systemd) trong hầu hết các hệ thống Linux hiện đại, vì nó được bảo vệ để đảm bảo sự ổn định của hệ thống.

Phương án C (kill -p 1): Lệnh này không hợp lệ. Option -p thường được dùng để chỉ định PID của tiến trình. Tuy nhiên, lệnh kill cần một số tín hiệu trước khi PID được chỉ định.

Phương án D (Không có lệnh nào): Đây là đáp án đúng. Vì tiến trình PID 1 rất quan trọng đối với hệ thống nên không thể dễ dàng kết thúc nó bằng các lệnh thông thường.

Câu hỏi liên quan