Kill (Unix)

Trong khoa học máy tính, kill là lệnh trong một số hệ điều hành phổ biến dùng để gửi tín hiệu tới một tiến trình (process) đang chạy, ví dụ yêu cầu kết thúc tiến trình đó.

Thực thi

Trong Unix và các hệ điều hành giống Unix
Trong Unix và các hệ điều hành giống Unix, kill là lệnh dùng để gửi tín hiệu tới một tiến trình. Chương trình mặc định gửi đi tín hiệu kết thúc, yêu cầu thoát tiến trình. Nghĩa của từ kill (giết) có thể gây hiểu lầm: tín hiệu được gửi có thể không có vai trò gì trong việc hủy tiến trình. Lệnh kill là một hàm bao, một lời gọi dùng để gửi tín hiệu tới tiến trình hoặc nhóm tiến trình trong hệ thống, tham chiếu tới ID tiến trình (PID) hay ID nhóm tiến trình (PGID). kill thường được cung cấp như một tiến trình riêng biệt theo chuẩn POSIX. Dù vậy, hầu hết các trình bao đều có sẵn lệnh kill với chức năng hơi khác một chút.

Có nhiều tín hiệu khác nhau có thể gửi đi bằng lệnh kill, mặc dù tín hiệu mà người dùng hay sử dụng nhất là SIGTERM và SIGKILL. Chương trình nhận được tín hiệu hủy mặc định SIGTERM có thể thực hiện vài thao tác như lưu lại cấu hình trước khi thoát chương trình. Tuy nhiên không phải chương trình nào cũng được cài đặt chức năng xử lý tín hiệu này, khi đó bộ xử lý tín hiệu mặc định sẽ được gọi. Trong vài trường hợp, bộ xử lý đặc biệt của tiến trình có thể thất bại trong việc xử lý tín hiệu.

Tất cả các tín hiệu trừ SIGKILL và SIGSTOP đều có thể bị "chặn" bởi tiến trình, nghĩa là một hàm đặc biệt được gọi khi chương trình nhận được tín hiệu. Chỉ có nhân hệ điều hành mới có thể xử lý hai tín hiệu SIGKILL và SIGSTOP, qua đó quản lý việc thực thi của các tiến trình. SIGKILL hủy tiến trình, và SIGSTOP tạm dừng tiến trình đến khi nhận được tín hiệu SIGCONT.

Unix cung cấp các cơ chế bảo mật ngăn cấm những người dùng chưa xác minh hủy đi tiến trình thuộc về người dùng khác. Khi một tiến trình gửi đi tín hiệu tới một tiến trình khác, chúng phải có chung chủ sở hữu hoặc tiến trình gửi tín hiệu phải thuộc về siêu người dùng.

Các tín hiệu sẵn có đều có các tên khác nhau, và được ánh xạ tới một số làm địa chỉ. Chú ý là bảng ánh xạ có thể khác nhau trong các bản cài đặt Unix. SIGTERM thường giữ số 15 và SIGKILL là 9.

Ví dụ
Để hủy tất cả các thực thể của troff, gõ:

 kill troff | rc

Tham khảo

Liên kết ngoài
 Lệnh: 
 System call: 

Tiện ích Unix SUS2008
Tiến trình (tin học)
Quản trị Window
Lệnh và trình quản lý tác vụ trong Unix
Quản trị Windows