JavaScript is required

Để kill hết các tiến trình có tên là vi ta dùng lệnh nào?

A.
kill –9 vi
B.
kill –HUP vi
C.
killall –HUP vi
D.
killall –9 vi
Trả lời:

Đáp án đúng: C


Câu hỏi yêu cầu tìm lệnh để kết thúc tất cả các tiến trình có tên "vi". * **`kill`**: Lệnh `kill` được sử dụng để gửi tín hiệu đến một tiến trình. Nó yêu cầu PID (Process ID) cụ thể của tiến trình đó. Nếu chỉ sử dụng `kill vi`, nó sẽ cố gắng gửi tín hiệu đến một tiến trình có PID là "vi", điều này không hợp lý và có thể không hoạt động như mong đợi. `kill -9 vi` cũng tương tự, cố gắng gửi tín hiệu KILL (tín hiệu số 9) đến tiến trình có PID là "vi", không đúng với ý định kill tất cả các tiến trình tên "vi". * **`killall`**: Lệnh `killall` được thiết kế để gửi tín hiệu đến tất cả các tiến trình có cùng tên. `killall vi` sẽ gửi tín hiệu TERM (mặc định) đến tất cả các tiến trình có tên là "vi". `killall -9 vi` sẽ gửi tín hiệu KILL (tín hiệu số 9) đến tất cả các tiến trình có tên là "vi". * **`-9` (SIGKILL)**: Tín hiệu số 9 (SIGKILL) là một tín hiệu mạnh, yêu cầu hệ điều hành ngay lập tức chấm dứt tiến trình. Tiến trình không thể bỏ qua tín hiệu này. * **`-HUP` (SIGHUP)**: Tín hiệu HUP (Hang Up) thường được sử dụng để yêu cầu tiến trình đọc lại file cấu hình và khởi động lại. Không phù hợp để kill tiến trình. Như vậy, phương án **D. killall –9 vi** là phương án đúng nhất, vì nó sẽ gửi tín hiệu KILL đến tất cả các tiến trình có tên là "vi", đảm bảo chúng bị chấm dứt. Lưu ý: Sử dụng `kill -9` hoặc `killall -9` có thể gây ra mất dữ liệu nếu tiến trình không kịp lưu trạng thái của nó. Nên ưu tiên sử dụng các tín hiệu nhẹ nhàng hơn (ví dụ: TERM) trước khi sử dụng KILL.

Câu hỏi liên quan