Liên hệProfile
Danh mục

Mục Lục

    Lệnh kill là gì? Cách sử dụng lệnh kill trong Linux để kết thúc tiến trình

    Nguyễn Hưng

    Ngày đăng:

    24/02/2026

    Cập nhật lần cuối:

    24/02/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (2 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    24/02/2026

    Cập nhật lần cuối:

    24/02/2026

    Mục lục

    Lệnh kill trong Linux là công cụ dùng để gửi tín hiệu đến tiến trình nhằm dừng hoặc kết thúc tiến trình khi cần, đặc biệt hữu ích trong trường hợp ứng dụng bị treo hoặc tiêu tốn quá nhiều tài nguyên hệ thống. Trong bài viết này, mình sẽ chia sẻ chi tiết từ khái niệm, cú pháp lệnh kill cho đến các ví dụ thực tế để bạn có thể chủ động quản lý tiến trình hiệu quả hơn trên hệ thống Linux.

    Những điểm chính

    • Khái niệm: Hiểu rõ lệnh kill trong Linux là công cụ dùng để gửi tín hiệu đến tiến trình, giúp bạn dừng hoặc kết thúc chúng một cách hiệu quả.
    • Các tín hiệu phổ biến: Nắm được 4 tín hiệu phổ biến nhất (SIGHUP, SIGINT, SIGKILL, SIGTERM), giúp bạn lựa chọn đúng hành động cho từng tình huống.
    • Cách tìm ID tiến trình (PID): Biết các lệnh ps aux, pgrep và top, giúp bạn nhanh chóng xác định PID của tiến trình cần tác động.
    • Các cách sử dụng phổ biến: Nắm vững các phương pháp dùng kill bằng số, SIG Prefix, không cần SIG Prefix và kill hàng loạt tiến trình, giúp bạn áp dụng linh hoạt trong nhiều kịch bản.
    • Lưu ý quan trọng: Nhận thức được các lưu ý về quyền hạn và rủi ro mất dữ liệu, giúp bạn sử dụng lệnh kill một cách an toàn và tránh hậu quả không mong muốn.
    • Câu hỏi thường gặp: Được giải đáp các thắc mắc về lệnh /kill trong Minecraft, tiến trình cha/con và các lỗi thường gặp, giúp củng cố kiến thức và làm rõ các vấn đề thực tế.

    Lệnh kill trong Linux là gì?

    Lệnh kill trong Linux là lệnh được dùng để gửi tín hiệu đến các tiến trình nhằm dừng hoặc kết thúc, chúng thường áp dụng khi ứng dụng bị treo hoặc chiếm quá nhiều tài nguyên hệ thống. Mặc dù tên gọi là “kill” nhưng chức năng mặc định của lệnh này không phải là tiêu diệt tiến trình ngay lập tức, mà là gửi tín hiệu yêu cầu tiến trình đó dừng hoạt động.

    Lệnh kill trong Linux là lệnh được dùng để gửi tín hiệu đến các tiến trình nhằm dừng hoặc kết thúc
    Lệnh kill trong Linux là lệnh được dùng để gửi tín hiệu đến các tiến trình nhằm dừng hoặc kết thúc

    Cú pháp chính để thực hiện lệnh như sau:

    kill [tín hiệu] <PID>

    Trong đó:

    • PID (Process ID): Là mã định danh duy nhất của tiến trình mà bạn muốn tác động.
    • Tín hiệu: Là hành động cụ thể bạn muốn gửi đến tiến trình (ví dụ: dừng ngay lập tức hoặc yêu cầu đóng an toàn).

    Dưới đây là một ví dụ đơn giản mô phỏng quy trình tạo một tiến trình nền, tìm PID tương ứng, sau đó dùng kill để kết thúc tiến trình và kiểm tra lại:

    sleep 300 &     # Tạo tiến trình
    pgrep sleep     # Tìm tiến trình 
    kill PID        # Kết thúc tiến trình 
    pgrep sleep     # Kiểm tra

    Output của câu lệnh trên:

    Output của câu lệnh sleep 300 &
    Output của câu lệnh sleep 300 &

    Những tín hiệu phổ biến trong lệnh kill

    Mỗi tín hiệu gửi đi sẽ điều khiển cách tiến trình phản ứng. Dưới đây là 4 tín hiệu phổ biến nhất:

    Tín hiệuTên tín hiệuÝ nghĩa
    1SIGHUPTải lại các tệp cấu hình (reload) mà không cần dừng tiến trình.
    2SIGINTNgắt tiến trình từ bàn phím (tương đương với tổ hợp phím Ctrl+C).
    9SIGKILLBuộc tiến trình dừng ngay lập tức (không cho phép dọn dẹp dữ liệu), tiến trình không thể chặn hoặc bỏ qua.​
    15SIGTERMYêu cầu tiến trình dừng lại một cách an toàn, thường được dùng mặc định nếu không chỉ định loại tín hiệu cho lệnh kill.​
    Những tín hiệu phổ biến trong lệnh kill
    Những tín hiệu phổ biến trong lệnh kill

    Ngoài ra, nếu muốn xem danh sách đầy đủ các tín hiệu có thể sử dụng với kill, bạn có thể dùng tùy chọn -l như sau:​

    kill -l

    Cách tìm ID tiến trình (PID) trước khi kill

    Để sử dụng lệnh kill, người dùng cần biết mã PID của chương trình. Bạn có thể sử dụng các lệnh sau để tìm PID:

    • ps aux | grep [tên_tiến_trình]: Liệt kê tất cả tiến trình đang chạy.
    • pgrep [tên_tiến_trình]: Trả về trực tiếp mã PID của tên tiến trình được nhập.
    • top: Hiển thị bảng điều khiển các tiến trình hệ thống theo thời gian thực.

    Kill bằng số

    Giả sử có một tiến trình đang chạy với PID là 3456 và bạn muốn gửi tín hiệu SIGKILL cho tiến trình này. Trong hệ thống Linux, SIGKILL được gán với số hiệu 9 và được dùng để buộc tiến trình dừng ngay lập tức, không cho nó cơ hội tự xử lý thoát hay dọn dẹp tài nguyên.​

    Cú pháp thực hiện như sau:

    kill -9 3456

    Kill bằng SIG Prefix

    Khi muốn gửi tín hiệu SIGTERM đến một tiến trình, đây là loại tín hiệu tiêu chuẩn cho phép tiến trình chủ động lưu dữ liệu, đóng kết nối và thực hiện các bước xử lý cần thiết trước khi dừng. SIGTERM đồng thời là tín hiệu mặc định mà lệnh kill sử dụng, nên ngay cả khi không chỉ rõ tên tín hiệu thì lệnh vẫn gửi SIGTERM tới tiến trình có PID tương ứng.​

    Ví dụ với tiến trình có PID là 3456, bạn có thể dùng một trong hai lệnh sau để gửi SIGTERM:

    kill -SIGTERM 3456
    kill 3456

    Kill mà không cần SIG PREFIX

    Trong trường hợp này, TERM được hiểu là dạng viết rút gọn của SIGTERM nên khi sử dụng với lệnh kill thì ý nghĩa tín hiệu là như nhau. Do đó, hai cách gọi tín hiệu SIGTERM cho tiến trình có PID 3456 là tương đương, bao gồm cú pháp sau:

    kill -TERM 3456

    Kill hàng loạt tiến trình

    Nếu bạn muốn dừng tất cả các tiến trình có cùng tên mà không cần tìm từng PID, hãy chạy lệnh:

    killall [tên_tiến_trình] # dừng mọi tiến trình mang tên đó

    Hoặc:

    pkill [tên_tiến_trình] # tương tự killall nhưng linh hoạt hơn với các mẫu tên phức tạp.

    Những lưu ý quan trọng khi sử dụng

    Khi thực hiện các lệnh can thiệp vào hệ thống, người dùng cần ghi nhớ các quy tắc sau:

    • Quyền hạn: Người dùng thông thường chỉ có thể dừng các tiến trình do chính họ sở hữu. Để dừng tiến trình của hệ thống (root) hoặc của người dùng khác, bạn phải sử dụng thêm lệnh sudo phía trước (ví dụ: sudo kill -9 1234).
    • Rủi ro mất dữ liệu: Việc sử dụng kill -9 (SIGKILL) quá thường xuyên có thể dẫn đến việc mất dữ liệu chưa kịp lưu hoặc làm hỏng các tệp tin mà tiến trình đó đang xử lý.
    • Kiểm tra kỹ PID: Hãy luôn xác nhận đúng mã PID trước khi thực hiện lệnh để tránh việc dừng nhầm các tiến trình quan trọng của hệ thống.
    Những lưu ý quan trọng khi sử dụng lệnh kill
    Những lưu ý quan trọng khi sử dụng lệnh kill

    Câu hỏi thường gặp

    Lệnh kill trong Minecraft là gì?

    Lệnh /kill trong Minecraft dùng để loại bỏ nhanh các thực thể như mob, người chơi hoặc toàn bộ thực thể tùy theo tham số đi kèm. Khi không thêm tham số, lệnh này có thể tiêu diệt cả nhân vật đang điều khiển trong thế giới game.

    Điều gì xảy ra khi kill tiến trình cha?

    Khi tiến trình cha bị kill nhưng tiến trình con vẫn đang chạy, tiến trình con sẽ trở thành tiến trình mồ côi. Trong Linux, các tiến trình mồ côi sẽ được kernel tự động gán lại cho tiến trình init (PID 1) để tiếp tục quản lý.​

    Tại sao lệnh kill không tắt được tiến trình?

    Đôi khi, một tiến trình đã kết thúc nhưng vẫn hiển thị trong danh sách (Zombie process). Lệnh kill thông thường không thể tác động lên Zombie process vì chúng thực chất đã “chết”. Bạn cần tìm và tắt tiến trình cha đã tạo ra tiến trình Zombie đó. Khi tiến trình cha bị tắt, hệ thống sẽ tự động dọn dẹp các tiến trình Zombie.

    Tại sao tôi nhận được thông báo “Operation not permitted”?

    Thông báo này xuất hiện khi người dùng hiện tại không có quyền tác động lên tiến trình đó. Điều này thường xảy ra khi bạn cố gắng tắt một tiến trình thuộc về người dùng khác hoặc thuộc về hệ thống (root). Để giải quyết, người dùng cần thêm sudo vào trước câu lệnh để thực thi với quyền quản trị cao nhất.

    Lệnh kill trong Linux là công cụ quan trọng giúp quản lý và kiểm soát tiến trình, từ việc kết thúc nhẹ nhàng bằng SIGTERM cho đến buộc dừng hoàn toàn với SIGKILL khi tiến trình không phản hồi. Khi nắm vững cú pháp, cách sử dụng theo PID, tên tiến trình, cũng như các loại tín hiệu phổ biến, bạn có thể xử lý nhanh các ứng dụng treo, giải phóng tài nguyên và giữ cho hệ thống Linux vận hành ổn định, hiệu quả.

    5/5 - (2 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách dùng dmidecode trên Linux để xem thông tin phần cứng chính xác và nhanh chóng
    Cách dùng dmidecode trên Linux để xem thông tin phần cứng chính xác và nhanh chóng

    dmidecode là một công cụ dòng lệnh trên Linux dùng để đọc và hiển thị thông tin phần cứng máy tính từ bảng DMI hoặc SMBIOS cung cấp bởi BIOS, giúp kiểm tra chi tiết như nhà sản xuất, model, số serial, BIOS, CPU, RAM mà không cần mở máy. Trong bài viết này, mình…

    27/02/2026

    Lệnh partx Linux là gì? 7 ví dụ ứng dụng thực tế của lệnh partx
    Lệnh partx Linux là gì? 7 ví dụ ứng dụng thực tế của lệnh partx

    Lệnh partx Linux là một công cụ dòng lệnh thuộc gói util-linux, được sử dụng để thêm, xóa hoặc liệt kê các phân vùng của thiết bị đĩa vào bảng phân vùng của hệ thống mà không cần khởi động lại hoặc gắn lại thiết bị. Trong bài viết này, mình sẽ hướng dẫn bạn…

    27/02/2026

    Hướng dẫn 7 cách kiểm tra CPU trên Linux chính xác và nhanh chóng
    Hướng dẫn 7 cách kiểm tra CPU trên Linux chính xác và nhanh chóng

    Trong môi trường quản trị Linux, việc kiểm tra tốc độ xung nhịp CPU là một thao tác cần thiết giúp người dùng đánh giá khả năng chịu tải, phát hiện các điểm nghẽn hiệu suất  và hỗ trợ tối ưu trong quá trình tối ưu hóa hoặc khắc phục sự cố phần cứng. Trong…

    27/02/2026

    Hướng dẫn xóa bộ nhớ Cache, bộ đệm và Swap trong Linux nhanh chóng, chi tiết
    Hướng dẫn xóa bộ nhớ Cache, bộ đệm và Swap trong Linux nhanh chóng, chi tiết

    Trong Linux, bộ nhớ cache là nơi lưu trữ tạm thời dữ liệu và các file đã truy cập gần đây để giảm thời gian truy xuất ở lần tiếp theo. Tuy nhiên, theo thời gian, bộ nhớ cache có thể chiếm dụng quá nhiều RAM, đặc biệt trên các máy chủ có uptime dài…

    27/02/2026

    linux

    lenh

    text