Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn dùng lệnh pkill Linux để kết thúc tiến trình nhanh chóng

    Nguyễn Hưng

    Ngày đăng:

    25/04/2026

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

    25/04/2026

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

    Nguyễn Hưng

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

    25/04/2026

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

    25/04/2026

    Mục lục

    Thay vì phải tốn thời gian dò tìm từng mã PID thủ công mỗi khi hệ thống có dấu hiệu giật lag do hàng chục tiến trình chạy ngầm, mình thường ưu tiên sử dụng pkill để dọn dẹp hệ thống chỉ trong vài giây. Qua quá trình trực tiếp quản lý và tối ưu hóa tài nguyên trên VPS, mình nhận thấy đây là công cụ hiệu quả nhất để kết thúc hàng loạt tiến trình theo tên mà không cần thao tác rườm rà. Trong bài viết này, mình sẽ chia sẻ chi tiết cách ứng dụng lệnh pkill từ những tình huống thực tế nhất để giúp bạn kiểm soát server Linux một cách chuyên nghiệp và nhanh chóng.

    Những điểm chính

    Đối với mình, việc quản lý tiến trình trên Linux không chỉ dừng lại ở việc kill thủ công mà còn là cách kiểm soát toàn bộ hệ thống một cách chủ động và an toàn. Để giúp bạn hiểu rõ hơn về lệnh pkill trong thực tế vận hành, bài viết dưới đây sẽ cung cấp các thông tin gồm:

    • Khái niệm: Hiểu rõ lệnh pkill Linux là lệnh được sử dụng để gửi tín hiệu điều khiển, thường là tín hiệu chấm dứt đến các tiến trình dựa trên tên của các tiến trình đó thay vì mã định danh.
    • Lợi ích khi sử dụng: Nắm được cách tiết kiệm thời gian, xử lý hàng loạt và sử dụng bộ lọc nâng cao để tối ưu hóa quy trình quản trị.
    • Các tùy chọn quan trọng: Giúp bạn làm chủ các tham số như -f, -u, -9 để tác động chính xác đến từng đối tượng hoặc người dùng cụ thể.
    • Ví dụ sử dụng thực tế: Thành thạo kỹ năng từ dừng ứng dụng cơ bản, reload cấu hình dịch vụ đến xử lý các dòng lệnh thực thi phức tạp.
    • Xử lý tiến trình bị treo: Biết cách ứng dụng pkill để giải phóng tài nguyên nhanh chóng khi hệ thống gặp tình trạng treo hàng loạt.
    • Kiểm soát tiến trình tự động: Học cách thiết lập “watchdog” qua lệnh alias để tự động xử lý các tiến trình chiếm dụng CPU vượt ngưỡng.
    • Lưu ý an toàn: Ghi nhớ các nguyên tắc kiểm tra bằng pgrep và sử dụng tín hiệu phù hợp để tránh gây hỏng dữ liệu hoặc lỗi hệ thống.
    • Câu hỏi thường gặp: Giải đáp thắc mắc thường gặp của người dùng khi sử dụng lệnh pkill.

    Lệnh pkill Linux là gì?

    pkill Linux là lệnh được sử dụng để gửi tín hiệu điều khiển, thường là tín hiệu chấm dứt đến các tiến trình dựa trên tên của các tiến trình đó thay vì mã định danh. Về bản chất, pkill hoạt động như một sự kết hợp giữa lệnh tìm kiếm pgrep và lệnh kill truyền thống. Lệnh này cho phép người dùng nhanh chóng xác định và dừng hàng loạt tiến trình khớp với một chuỗi ký tự hoặc biểu thức quy tắc cụ thể mà không cần tra cứu thủ công từng số PID riêng lẻ. Cú pháp của lệnh pkill như sau:

    pkill [options] pattern

    Trong đó:

    • [options]: Là các tùy chọn để giới hạn hoặc chỉ định cách thức khớp.
    • pattern: Chuỗi ký tự hoặc biểu thức dùng để tìm tiến trình, thường là tên process.
    pkill Linux là lệnh được sử dụng để gửi tín hiệu điều khiển, đến các tiến trình dựa trên tên của các tiến trình đó
    pkill Linux là lệnh được sử dụng để gửi tín hiệu điều khiển, đến các tiến trình dựa trên tên của các tiến trình đó

    Những lợi ích khi sử dụng lệnh pkill

    Dưới đây là các lợi ích chính của lệnh pkill:

    • Tiết kiệm thời gian thao tác: Lệnh pkill giúp loại bỏ hoàn toàn bước trung gian phải tra cứu mã định danh (PID), người dùng chỉ cần nhớ tên ứng dụng là có thể xử lý ngay lập tức.
    • Xử lý hàng loạt: pkill cho phép dừng đồng loạt tất cả các tiến trình có cùng tên chỉ với một câu lệnh duy nhất.
    • Cơ chế tìm kiếm linh hoạt: Sử dụng lệnh pkill hỗ trợ khớp theo chuỗi ký tự một phần hoặc biểu thức quy tắc, không yêu cầu người dùng phải gõ chính xác 100% tên tiến trình mới có thể tìm thấy.
    • Bộ lọc nâng cao: Cung cấp các tùy chọn mạnh mẽ để giới hạn phạm vi tác động, như chỉ tắt tiến trình của một user cụ thể (-u) hoặc tìm kiếm dựa trên toàn bộ đường dẫn thực thi (-f).
    • Cú pháp đơn giản: Lệnh ngắn gọn, dễ nhớ và ít xảy ra sai sót hơn so với việc phải kết hợp nhiều lệnh phức tạp (như ps | grep | xargs kill).
    Những lợi ích khi sử dụng lệnh pkill
    Những lợi ích khi sử dụng lệnh pkill

    Các tùy chọn quan trọng của lệnh pkill

    Dưới đây là bảng giải thích các tùy chọn thường được sử dụng của lệnh pkill kèm ví dụ minh họa:

    Tùy chọnCông dụngVí dụ
    -fKhớp với toàn bộ dòng lệnh thực thi thay vì chỉ tên tiến trình.pkill -f gunicorn
    -u USERKết thúc tất cả tiến trình thuộc về một người dùng cụ thể.pkill -u www-data
    -9Gửi tín hiệu SIGKILL.pkill -9 nginx
    -lChỉ hiển thị tên các tiến trình khớp với mẫu tìm kiếm, không thực hiện kill.pkill -l sshd
    -signalGửi một tín hiệu tùy chọn thay vì tín hiệu SIGKILL mặc định.pkill -HUP nginx

    1. Dừng toàn bộ process theo tên

    Để kết thúc tất cả các tiến trình có tên là “nginx“, bạn sử dụng lệnh:

    pkill nginx

    Lệnh pkill sẽ tìm tất cả process có tên “nginx” và gửi tín hiệu mặc định là SIGTERM để yêu cầu dừng lại.

    2. Xử lý process có tên dài hoặc command-line phức tạp

    Giả sử, bạn chạy Gunicorn nhưng process lại hiển thị dưới dạng đường dẫn đầy đủ như /usr/bin/python3 /env/bin/gunicorn app:app. Để xử lý chính xác, bạn dùng lệnh:

    pkill -f gunicorn

    Tùy chọn -f sẽ giúp lệnh khớp từ toàn bộ dòng lệnh chứ không chỉ tên file thực thi, giúp tránh bỏ sót tiến trình.

    Tùy chọn -f cực kỳ hữu ích nhưng cũng tiềm ẩn rủi ro cao vì nó quét toàn bộ dòng lệnh (bao gồm cả các tham số truyền vào). Kinh nghiệm của mình là bạn hãy kiểm tra kỹ kết quả đầu ra của pgrep -fl <pattern> trước khi thực thi pkill -f để tránh kết thúc nhầm các tiến trình có dòng lệnh tương tự.

    3. Dừng process của một user cụ thể

    Để kết thúc các tiến trình python do user “deploy” chạy, bạn dùng lệnh sau:

    pkill -u deploy python

    Cách này giúp bạn tránh làm gián đoạn dịch vụ của các user khác trên cùng hệ thống.

    4. Reload dịch vụ mà không dừng hoàn toàn

    Để yêu cầu Nginx tải lại cấu hình mà không cần khởi động lại hoàn toàn, bạn gửi tín hiệu HUP với lệnh như sau:

    pkill -HUP nginx

    Tùy chọn này hữu ích khi bạn vừa chỉnh sửa file nginx.conf và muốn áp dụng thay đổi ngay lập tức.

    Trong vận hành hệ thống, mình luôn đưa uptime lên ưu tiên hàng đầu. Thay vì khởi động lại gây gián đoạn kết nối, mình thường gửi tín hiệu HUP để yêu cầu dịch vụ reload cấu hình nhằm đảm bảo tính sẵn sàng của dịch vụ trong suốt quá trình triển khai thay đổi.

    5. Kết hợp pkill với grep để kiểm tra an toàn

    Trước khi thực hiện lệnh dừng, bạn nên kiểm tra kỹ danh sách tiến trình bằng lệnh dưới đây:

    ps aux | grep gunicorn | grep -v grep

    Sau khi đã xác nhận chính xác, bạn thực hiện lệnh sau:

    pkill -f gunicorn

    6. Dừng process chạy quá lâu

    Đây là phương pháp nâng cao khi lệnh pkill cơ bản chưa đáp ứng được các logic phức tạp. Ví dụ, để kết thúc toàn bộ các tiến trình có tên cụ thể đã chạy hơn 1 giờ, bạn có thể sử dụng chuỗi lệnh sau:

    ps -eo pid,etime,comm \
      | grep process_name \
      | awk '$2 ~ /[1-9][0-9]:/ {print $1}' \
      | xargs kill

    Trong đó:

    • ps -eo: Lấy danh sách PID kèm thời gian chạy.
    • awk: Lọc ra các process đã chạy trên 1 giờ.
    • xargs kill: Thực hiện kết thúc các PID vừa lọc được.

    Cách xử lý nhanh các tiến trình bị treo hàng loạt

    Khi hệ thống xuất hiện nhiều tiến trình trùng lặp hoặc bị treo cùng lúc, cách tối ưu để bạn xử lý triệt để là sử dụng lệnh pkill kết hợp với tùy chọn mở rộng với cú pháp như sau:

    pkill -f tên_process

    Trong đó:

    • pkill: Cho phép dừng tiến trình dựa trên tên gọi thay vì phải tra cứu thủ công từng mã định danh như lệnh kill truyền thống.
    • Tham số -f (Full): Yêu cầu hệ thống quét và khớp chuỗi ký tự trên toàn bộ dòng lệnh thực thi, bao gồm cả đường dẫn và tham số. Điều này giúp phân biệt và xử lý chính xác các tiến trình có tên chung chung.

    Đây là phương pháp quản trị nhanh gọn, giúp tiết kiệm thời gian và đảm bảo độ chính xác cao khi cần giải phóng tài nguyên hệ thống.

    Cách xử lý nhanh các tiến trình bị treo hàng loạt
    Cách xử lý nhanh các tiến trình bị treo hàng loạt

    Trong các tình huống hệ thống rơi vào trạng thái quá tải hoặc treo hàng loạt, tốc độ phản ứng là ưu tiên hàng đầu. Tuy nhiên, bạn cần cẩn trọng trong việc sử dụng pkill -f. Thay vì chỉ sử dụng tên process đơn thuần, mình thường ưu tiên đưa vào các từ khóa đặc thù (như đường dẫn cụ thể hoặc tham số đặc trưng) để hạn chế tối đa phạm vi ảnh hưởng. Kỹ năng kiểm soát phạm vi tác động sẽ giúp bạn đảm bảo rằng việc giải phóng tài nguyên không làm gián đoạn các dịch vụ ổn định khác đang cùng chạy trên server.

    Cách sử dụng pkill như watchdog kiểm soát tiến trình

    Bạn có thể tạo một alias để tự động kết thúc các tiến trình chiếm dụng CPU quá 80% bằng lệnh sau:

    alias kill_high_cpu="ps -eo pid,pcpu,comm --sort=-pcpu | awk 'NR>1 && \$2>80 {print \$1}' | xargs -r kill"

    Khi máy chủ bị giật lag (lag), bạn chỉ cần gõ lệnh:

    kill_high_cpu

    Cách này giúp bạn xử lý nhanh các tiến trình chạy mất kiểm soát mà không cần phải dò tìm thủ công.

    Lưu ý khi sử dụng lệnh pkill

    Dưới đây là những lưu ý quan trọng khi sử dụng lệnh pkill:

    • Luôn kiểm tra trước bằng pgrep: Vì pkill thực thi ngay lập tức mà không có bước xác nhận, nên bạn cần chạy lệnh pgrep -l trước để xem trước danh sách các tiến trình sẽ bị tác động để đảm bảo không tắt nhầm dịch vụ quan trọng.
    • Cẩn trọng với cơ chế khớp một phần: Theo mặc định, pkill sẽ tắt mọi tiến trình có tên chứa từ khóa bạn nhập nên để an toàn, bạn hãy dùng tùy chọn -x để yêu cầu hệ thống chỉ tắt tiến trình khớp chính xác 100% tên.
    • Giới hạn phạm vi người dùng: Khi chạy với quyền sudo, lệnh sẽ quét toàn bộ hệ thống. Do đó, bạn hãy sử dụng tùy chọn -u để giới hạn lệnh chỉ tác động lên các tiến trình thuộc sở hữu của một user cụ thể, tránh ảnh hưởng đến các user khác hoặc tiến trình hệ thống.
    • Ưu tiên tín hiệu mặc định (SIGTERM): Bạn để pkill gửi tín hiệu mặc định (15) giúp ứng dụng đóng an toàn và lưu dữ liệu. Bạn chỉ nên sử dụng tín hiệu cưỡng chế -9 (SIGKILL) khi ứng dụng đã bị treo cứng và không phản hồi.
    • Thận trọng khi dùng tham số -f: Khi tìm kiếm trên toàn bộ dòng lệnh, bạn hãy đảm bảo từ khóa bạn nhập là duy nhất và đủ dài để tránh khớp nhầm với các script hoặc ứng dụng khác có đường dẫn tương tự.
    Bạn cần lưu ý khi sử dụng lệnh pkill trong Linux
    Bạn cần lưu ý khi sử dụng lệnh pkill trong Linux (Nguồn: Internet)

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

    Lệnh pkill và lệnh killall khác nhau như thế nào?

    Mặc dù lệnh pkill và lệnh killall đều dùng để kết thúc tiến trình theo tên, nhưng 2 lệnh này có sự khác biệt chính như sau:
    – killall: Yêu cầu bạn phải nhập chính xác 100% tên của tiến trình.
    – pkill: Linh hoạt hơn, cho phép khớp theo mẫu hoặc tên một phần.

    Nếu không dùng tùy chọn -9, lệnh pkill sẽ gửi tín hiệu gì?

    Theo mặc định, nếu không chỉ định tín hiệu cụ thể, pkill sẽ gửi tín hiệu SIGTERM (15). Tín hiệu này yêu cầu tiến trình dừng lại, cho phép tiến trình lưu dữ liệu và đóng các kết nối trước khi tắt. Tín hiệu SIGKILL (-9) chỉ nên dùng khi tiến trình bị treo cứng và không phản hồi với SIGTERM.

    Tôi có thể dùng pkill để đăng xuất một người dùng khỏi hệ thống không?

    Có thể. Bằng cách kết hợp tùy chọn -u (user) và tên tiến trình shell, bạn có thể ngắt kết nối của người dùng đó. Ví dụ, để đăng xuất user tên “nhanvien” khỏi các phiên SSH, bạn thực thi lệnh như sau:
    sudo pkill -u nhanvien sshd

    Lệnh pkill Linux giúp chấm dứt tiến trình theo tên, đồng thời cũng là giải pháp mạnh mẽ hỗ trợ quản trị viên hệ thống xử lý sự cố một cách nhanh chóng. Sử dụng pkill giúp hạn chế tối đa nguy cơ tác động nhầm đến các PID quan trọng và góp phần giảm thời gian gián đoạn dịch vụ trong những tình huống khẩn cấp. Chúc bạn nắm được các thao tác sử dụng lệnh pkill hữu ích và cảm ơn bạn đã theo dõi bài viết.

    4.9/5 - (7 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 và Phó giám đốc của Vietnix, Co-Founder của dự án Chống Lừa Đảo.
    0 0 votes
    Đánh giá bài viết
    Subscribe
    Notify of
    guest
    0 Góp ý
    Oldest
    Newest Most Voted
    Inline Feedbacks
    View all comments

    BÀI VIẾT LIÊN QUAN

    AI dạy hiệu suất, ai dạy làm người
    AI dạy hiệu suất, ai dạy làm người

    Ngày 09/10/2026, tôi vinh dự tham gia và chia sẻ tại tọa đàm “AI dạy hiệu suất, ai dạy làm người?” do Báo Tiền Phong phối hợp cùng Trường Đại học Giao thông vận tải TP.HCM (UTH) tổ chức. Sự kiện đã quy tụ nhiều chuyên gia công nghệ, nhà giáo dục, chuyên gia tâm…

    17/10/2026

    KOL Summit 2026

    Ngày 07/09/2026, tôi có cơ hội tham dự Hội nghị KOL toàn quốc lần thứ II – KOL Summit 2026 tại Thisky Hall Sala, TP.HCM với chủ đề “KOL với hành trình kiến tạo niềm tin số”. Sự kiện do Liên minh Niềm tin số dẫn dắt, dưới sự bảo trợ của Bộ Công an,…

    15/09/2026

    Conviction 2026: Ký kết hợp tác giữa Chống Lừa Đảo x Ninety Eight

    Ngày 14/08/2026, trong khuôn khổ Ngày hội Công nghệ TP.HCM – Conviction 2026, tôi rất vinh dự được cùng đội ngũ Chống Lừa Đảo tham gia lễ ký kết Biên bản ghi nhớ hợp tác (MOU) với Ninety Eight – hệ sinh thái công nghệ blockchain tại Việt Nam. Đây là một cột mốc ý…

    14/08/2026

    Tham gia Hội nghị KOL & Lễ ra mắt Câu lạc bộ Niềm Tin Số TP.HCM: Chung tay xây dựng không gian mạng xanh, sạch và có trách nhiệm

    Ngày 10/08/2026, tôi vinh dự tham dự Hội nghị KOL & Lễ ra mắt Câu lạc bộ Niềm Tin Số TP.HCM do Công an TP.HCM phối hợp cùng các đơn vị liên quan tổ chức. Chương trình quy tụ đại diện Cục An ninh mạng và Phòng, chống tội phạm sử dụng công nghệ cao…

    11/08/2026

    linux

    lenh

    text