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

    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng
    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng

    smartctl là một tiện ích dòng lệnh giúp quản lý và giám sát hệ thống S.M.A.R.T., từ đó theo dõi chi tiết sức khỏe ổ cứng HDD/SSD trong môi trường máy chủ lẫn máy trạm cá nhân. Trong bài viết này, bạn sẽ tìm hiểu cách cài đặt, sử dụng các lệnh smartctl quan trọng…

    14/04/2026

    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux
    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux

    cryptsetup là tiện ích dòng lệnh nguồn mở trong Linux dùng để quản lý mã hóa đĩa dựa trên dm-crypt và chuẩn LUKS, hỗ trợ tạo volume an toàn với nhiều khóa và tương thích cao. Bài viết này hướng dẫn toàn diện về cryptsetup từ cài đặt, quy trình mã hóa, quản lý key…

    14/04/2026

    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux
    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux

    Aureport là công cụ dòng lệnh mạnh mẽ trong hệ thống auditd Linux, chuyên tạo báo cáo thống kê tóm tắt từ các tệp nhật ký kiểm toán. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng aureport để giám sát bảo mật và phân tích hoạt động hệ thống hiệu quả. Những…

    09/04/2026

    Auditctl là gì? Hướng dẫn sử dụng lệnh auditctl trong Linux để quản lý hệ thống Audit
    Auditctl là gì? Hướng dẫn sử dụng lệnh auditctl trong Linux để quản lý hệ thống Audit

    Auditctl là công cụ dòng lệnh quan trọng trong Linux, cho phép quản trị viên thiết lập và quản lý các quy tắc giám sát (audit) trực tiếp trên kernel. Thông qua auditctl, bạn có thể theo dõi chi tiết các hoạt động như truy cập file, thực thi syscall hay hành vi người dùng…

    09/04/2026

    linux

    lenh

    text