Email Doanh NghiệpSSLFirewall Anti DDoSTối ưu tốc độ website

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Cách sử dụng lệnh pgrep Linux dành cho người mới bắt đầu

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:20/05/2025
Lượt xem

Đánh giá

5/5 - (1 bình chọn)

Lệnh pgrep Linux là công cụ giúp tìm kiếm các tiến trình đang chạy dựa trên tên hoặc các thuộc tính cụ thể. Đây là cách đơn giản và hiệu quả để kiểm tra nhanh các tiến trình mà không cần lọc thủ công từ danh sách dài trong ps. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng pgrep một cách dễ hiểu, phù hợp cho cả những người mới làm quen với Linux.

Những điểm chính

  • Hiểu khái niệm lệnh pgrep trong Linux: Nắm rõ mục đích sử dụng và cách thức hoạt động cơ bản của lệnh pgrep trong hệ điều hành Linux.
  • Biết cách sử dụng pgrep từ cơ bản đến nâng cao: Có thể áp dụng lệnh pgrep linh hoạt để tìm kiếm và lọc tiến trình theo nhiều tiêu chí khác nhau.
  • Nắm được các lệnh thay thế cho pgrep: Biết thêm các lệnh khác có chức năng tương tự để linh hoạt khi thao tác trên hệ thống.
  • Biết cách xử lý các lỗi thường gặp với pgrep: Dễ dàng nhận diện và khắc phục lỗi khi sử dụng pgrep, giúp quá trình quản lý hệ thống không bị gián đoạn.
  • Thấy được vai trò thực tiễn của pgrep: Hiểu được tầm quan trọng của lệnh này trong việc giám sát và quản lý quy trình trên hệ thống Linux.
  • Biết thêm Vietnix là nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng.
  • Giải đáp các câu hỏi thường gặp: Nắm được lời giải cho những thắc mắc phổ biến xoay quanh lệnh pgrep, giúp sử dụng lệnh hiệu quả hơn.

Lệnh pgrep Linux là gì?

Lệnh pgrep Linux là một công cụ mạnh mẽ dùng để tìm kiếm các tiến trình (process) đang chạy dựa trên tên hoặc các thuộc tính nhất định. Thay vì phải sử dụng các lệnh như ps kết hợp với grep để lọc thủ công, pgrep giúp bạn thực hiện điều này nhanh gọn và chính xác hơn chỉ với một dòng lệnh.

Lệnh pgrep Linux là một công cụ mạnh mẽ dùng để tìm kiếm các tiến trình (process) đang chạy dựa trên tên hoặc các thuộc tính nhất định
Lệnh pgrep Linux là một công cụ mạnh mẽ dùng để tìm kiếm các tiến trình (process) đang chạy dựa trên tên hoặc các thuộc tính nhất định

Cú pháp cơ bản của lệnh pgrep là:

pgrep [tùy chọn] tên_lệnh_cần_tìm

Ví dụ đơn giản:

pgrep bash

Lệnh trên sẽ trả về danh sách ID của tất cả các tiến trình bash đang chạy trên hệ thống. Đây là cách sử dụng cơ bản nhất của pgrep, nhưng thực tế thì lệnh này còn hỗ trợ rất nhiều tùy chọn nâng cao giúp bạn tìm kiếm tiến trình theo người dùng, nhóm, thời gian bắt đầu và nhiều điều kiện khác. Tiếp theo, mình sẽ hướng dẫn bạn cách sử dụng lệnh pgrep từ cơ bản đến nâng cao để bạn có thể tận dụng tối đa công cụ này trong việc quản lý hệ thống Linux.

Cách sử dụng lệnh pgrep Linux cơ bản cho người mới

Lệnh pgrep là công cụ hữu ích trong Linux giúp bạn tìm kiếm các tiến trình đang chạy dựa trên tên hoặc một số thuộc tính nhất định. Nó thuộc gói công cụ procps hoặc procps-ng, vốn cung cấp các tiện ích theo dõi và quản lý tài nguyên hệ thống. Tên gọi pgrep là sự kết hợp giữa hai lệnh quen thuộc: ps (hiển thị trạng thái tiến trình) và grep (tìm kiếm theo chuỗi văn bản).

Ở mức cơ bản, pgrep sẽ quét qua các tiến trình hiện có và trả về PID (Process ID) của các tiến trình khớp với tiêu chí tìm kiếm. Nếu không tìm thấy tiến trình nào, lệnh sẽ trả về mã thoát là 1, còn nếu có thì sẽ in ra danh sách các PID tương ứng.

Ví dụ đơn giản:

pgrep sshd

Lệnh trên sẽ liệt kê tất cả PID của tiến trình sshd đang chạy trên hệ thống. Đây là tiến trình quản lý kết nối SSH – giao thức truy cập từ xa an toàn phổ biến trong quản trị hệ thống. Ưu điểm của pgrep là cú pháp đơn giản, dễ nhớ và cho kết quả nhanh chóng mà không cần phải dùng lệnh ps aux | grep, vốn dài dòng và cần lọc thủ công. Ngoài ra, pgrep còn hỗ trợ nhiều tùy chọn để tinh chỉnh kết quả tìm kiếm.

Tuy nhiên, lưu ý rằng pgrep chỉ tìm kiếm theo tên tiến trình đúng tuyệt đối. Nếu bạn tìm kiếm myprocess thì tiến trình có tên myprocess1 sẽ không được liệt kê. Để mở rộng phạm vi tìm kiếm, bạn có thể thêm tùy chọn -f để lệnh tìm cả trong dòng lệnh khởi chạy.

Hiểu rõ cách hoạt động cơ bản của pgrep sẽ giúp bạn quản lý tiến trình hiệu quả hơn và tiết kiệm thời gian trong quá trình làm việc với hệ thống Linux. Trong phần tiếp theo, mình sẽ hướng dẫn cách sử dụng pgrep ở mức nâng cao để khai thác tối đa công cụ này.

pgrep linux 1
Cách sử dụng lệnh pgrep Linux cơ bản cho người mới

Cách sử dụng lệnh pgrep Linux nâng cao

Khi đã quen với các thao tác cơ bản, bạn sẽ thấy rằng sức mạnh thật sự của lệnh pgrep nằm ở khả năng xử lý các truy vấn phức tạp thông qua nhiều tùy chọn nâng cao. Những tùy chọn này giúp bạn tìm kiếm tiến trình một cách chính xác và linh hoạt hơn rất nhiều so với cách dùng đơn thuần. Dưới đây là một số tùy chọn (flag) thường được sử dụng trong các tình huống nâng cao:

Tùy chọnChức năngVí dụ sử dụng
-lHiển thị cả tên tiến trình và PIDpgrep -l sshd
-uTìm tiến trình thuộc về một người dùng cụ thểpgrep -u root sshd
-nChỉ hiển thị tiến trình mới nhất phù hợppgrep -n bash
-oChỉ hiển thị tiến trình cũ nhất phù hợppgrep -o bash
-vLoại trừ kết quả phù hợp với từ khóapgrep -v sshd
-xChỉ khớp chính xác tên tiến trìnhpgrep -x bash
-fTìm kiếm toàn bộ dòng lệnh (không chỉ tên tiến trình)pgrep -f 'bash -c'
-PTìm tiến trình con dựa trên PID của tiến trình chapgrep -P 1
-gTìm tiến trình thuộc một nhóm tiến trình cụ thểpgrep -g 1
-tTìm tiến trình theo thiết bị terminalpgrep -t pts/0

Dưới đây là một số ví dụ minh họa cho cách sử dụng các tùy chọn này trong thực tế:

  • Tìm theo toàn bộ dòng lệnh với -f: Khi có nhiều tiến trình có tên giống nhau, -f cho phép bạn tìm kiếm theo toàn bộ dòng lệnh:
pgrep -f 'bash -c'

Kết quả: Hiển thị PID của các tiến trình có chứa 'bash -c' trong toàn bộ dòng lệnh.

  • Tìm tiến trình theo người dùng với -u: Lệnh sau sẽ trả về các tiến trình sshd đang chạy dưới người dùng root:
pgrep -u root sshd
  • Hiển thị cả tên và PID với -l: Lệnh sau giúp bạn biết rõ từng PID đi kèm với tên tiến trình:
pgrep -l sshd

Việc kết hợp các tùy chọn này giúp bạn quản lý tiến trình hiệu quả hơn, đặc biệt khi xử lý sự cố hoặc giám sát hệ thống. Tiếp theo, chúng ta sẽ cùng tìm hiểu các lệnh thay thế cho pgrep để bạn có thêm lựa chọn linh hoạt khi làm việc với Linux.

Các lệnh thay thế cho lệnh pgrep Linux

Mặc dù pgrep là một công cụ mạnh mẽ để tìm kiếm tiến trình trong Linux, nhưng không phải là lựa chọn duy nhất. Có một số lệnh khác cũng có thể thực hiện chức năng tương tự, tiêu biểu là pidofps. Việc hiểu rõ các lựa chọn thay thế này sẽ giúp bạn linh hoạt hơn trong quá trình quản lý tiến trình.

  • pidof – Giải pháp đơn giản, nhanh gọn: Lệnh pidof được dùng để hiển thị PID (Process ID) của một chương trình đang chạy. So với pgrep, pidof đơn giản hơn và không có nhiều tùy chọn nâng cao, nhưng lại rất hữu ích khi bạn chỉ cần lấy nhanh PID.

Ví dụ:

pidof sshd

Kết quả trả về sẽ là danh sách các PID của tất cả tiến trình sshd đang chạy. Đây là cách đơn giản và nhanh chóng để có được thông tin tương tự như khi dùng pgrep.

  • ps – Cách tiếp cận chi tiết và linh hoạt hơn: Lệnh ps thường được sử dụng để hiển thị ảnh chụp hiện tại của các tiến trình đang chạy trên hệ thống. Khi kết hợp với grep, bạn có thể lọc ra các tiến trình theo tên giống như pgrep, đồng thời xem thêm nhiều thông tin chi tiết.

Ví dụ:

ps aux | grep sshd

Lệnh này sẽ liệt kê toàn bộ thông tin chi tiết về các tiến trình liên quan đến sshd, bao gồm PID, CPU, bộ nhớ sử dụng, thời gian khởi động và nhiều dữ liệu khác.

So sánh ưu nhược điểm:

  • pidof: Dễ sử dụng, nhanh chóng, nhưng hạn chế về tùy chọn nâng cao.
  • ps | grep: Cho thông tin chi tiết và kiểm soát tốt hơn, nhưng cú pháp phức tạp hơn và dễ gây rối với người mới.
  • pgrep: Cân bằng giữa sự đơn giản và tính năng nâng cao, rất phù hợp cho việc quản lý tiến trình hiệu quả.

Tùy vào mục đích sử dụng và mức độ thành thạo, bạn có thể chọn công cụ phù hợp. Việc làm quen với nhiều lệnh khác nhau sẽ giúp bạn chủ động xử lý mọi tình huống trong môi trường Linux.

Các lỗi thường gặp khi sử dụng lệnh pgrep Linux và cách xử lý

Khi sử dụng lệnh pgrep, đôi khi bạn có thể gặp phải những kết quả không như mong đợi. Việc hiểu rõ các lỗi phổ biến và cách khắc phục sẽ giúp bạn tiết kiệm thời gian và thao tác chính xác hơn:

1. Không có kết quả trả về

Một lỗi phổ biến là pgrep không trả về kết quả nào, mặc dù bạn chắc chắn tiến trình đang chạy. Nguyên nhân thường là do:

  • pgrep phân biệt chữ hoa và chữ thường.
  • Tên tiến trình bạn nhập không khớp hoàn toàn với tên thực tế.

Cách xử lý: Bạn sử dụng flag -f để tìm kiếm theo toàn bộ dòng lệnh, thay vì chỉ tên tiến trình.

pgrep -f MyProcess

Lệnh này sẽ trả về ID của tất cả tiến trình có chứa từ “MyProcess” trong dòng lệnh, kể cả khi tên không khớp chính xác hoặc có sự khác biệt về chữ hoa – chữ thường.

2. Trả về quá nhiều kết quả

Ngược lại, đôi khi pgrep có thể trả về quá nhiều tiến trình, nhất là khi bạn tìm kiếm bằng một tên chung như python hoặc sshd.

Cách xử lý:

  • Dùng flag -u để lọc theo người dùng.
  • Dùng flag -x để yêu cầu tên tiến trình phải khớp chính xác.
pgrep -u root -x sshd

Lệnh trên chỉ trả về các tiến trình sshd thuộc về người dùng root, giúp thu hẹp phạm vi kết quả.

3. Một số lưu ý và cách tối ưu khi dùng pgrep

Để tối ưu khi dùng pgrep, bạn nên lưu ý các vấn đề sau:

  • Cụ thể hóa tìm kiếm: Càng cụ thể thì kết quả càng chính xác.
  • Tận dụng các flag: Kết hợp nhiều tùy chọn như -l, -n, -d để kiểm soát đầu ra dễ dàng hơn.
  • Tra cứu thêm trong tài liệu: Lệnh man pgrep sẽ cung cấp danh sách đầy đủ các tùy chọn và ví dụ thực tế.

Vai trò của lệnh pgrep trong quản lý quy trình Linux

Trong hệ điều hành Linux, mỗi chương trình đang chạy được gọi là một tiến trình (process) và đều được gán một mã định danh duy nhất gọi là PID (Process ID). PID đóng vai trò quan trọng trong việc quản lý tài nguyên, theo dõi hoạt động và điều phối các tiến trình hệ thống.

Lệnh pgrep được sử dụng để tìm kiếm các PID của tiến trình dựa trên tên hoặc các tiêu chí nhất định, giúp người dùng xác định nhanh chóng tiến trình cần quản lý. Đây là công cụ cực kỳ hữu ích trong các thao tác như kiểm tra tiến trình đang chạy, lọc tiến trình theo người dùng và đặc biệt là trong các shell script tự động hóa.

  • Ví dụ cơ bản: Tìm tất cả PID của các tiến trình thuộc user root:
pgrep -u root

Kết quả trả về sẽ là danh sách các PID của những tiến trình đang được user root sở hữu.

  • Một ví dụ khác trong shell script: Kiểm tra tiến trình sshd có đang chạy không:
if pgrep -x "sshd" > /dev/null
then
    echo "sshd is running"
else
    echo "sshd is not running"
fi

Trong đoạn code trên, pgrep -x "sshd" sẽ tìm tiến trình có tên chính xác là sshd. Kết quả sẽ giúp script xác định có nên tiếp tục thực hiện các lệnh phụ thuộc vào tiến trình đó hay không. Ngoài ra, pgrep còn thường được dùng kết hợp với các lệnh khác như:

  • pkill: kết thúc tiến trình dựa trên tiêu chí tương tự pgrep.
  • ps: hiển thị thông tin chi tiết về tiến trình.
  • top: giám sát tiến trình theo thời gian thực.

Vietnix – Nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng

Vietnix là nhà cung cấp dịch vụ lưu trữ uy tín với giải pháp thuê VPS chất lượng cao, đặc biệt là VPS Linux chạy trên hạ tầng 100% ổ cứng SSD giúp đảm bảo tốc độ truy cập nhanh và ổn định. Khách hàng được toàn quyền quản trị, dễ dàng tùy chỉnh cấu hình qua giao diện trực quan, cùng hệ thống backup tự động bảo vệ dữ liệu an toàn. Với cơ chế phân quyền chặt chẽ và khả năng vận hành mượt mà, Vietnix mang đến giải pháp VPS an toàn, hiệu quả, giúp tối ưu chi phí cho mọi doanh nghiệp.

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn 
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/

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

pgrep có thể tìm kiếm tiến trình ẩn hoặc tiến trình con (child process) không?

pgrep không tìm được tiến trình bị ẩn bằng kỹ thuật đặc biệt (như rootkit), vì nó dựa trên dữ liệu tiến trình tiêu chuẩn. Với tiến trình con (child process), pgrep hỗ trợ tìm dựa vào PID cha bằng tùy chọn -P. Ví dụ: pgrep -P 1234 sẽ liệt kê các tiến trình con của tiến trình có PID 1234.

pgrep có hỗ trợ tìm tiến trình trên hệ thống đa lõi hoặc đa máy không?

pgrep là công cụ tìm kiếm tiến trình (process) dựa trên tên hoặc thuộc tính của tiến trình chạy trên một máy chủ Linux duy nhất. Nó không hỗ trợ tìm tiến trình trên nhiều máy hoặc trên hệ thống phân tán đa máy (multi-node). Về đa lõi, pgrep vẫn hoạt động bình thường vì hệ điều hành Linux quản lý tất cả các tiến trình chạy trên các lõi CPU của cùng một máy.

Lời kết

Lệnh pgrep Linux là công cụ đơn giản nhưng rất mạnh mẽ giúp bạn tìm kiếm và quản lý tiến trình trên hệ thống Linux một cách nhanh chóng và hiệu quả. Qua bài viết này, bạn đã nắm được cách sử dụng pgrep từ cơ bản đến nâng cao, cũng như hiểu rõ vai trò quan trọng của lệnh trong việc quản lý quy trình. Việc thành thạo pgrep không chỉ giúp bạn tiết kiệm thời gian mà còn nâng cao khả năng xử lý và giám sát hệ thống. Cảm ơn bạn đã theo dõi bài viết!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi sinh nhật
Nhanh tay, số lượng có hạn!
17/05/2025 - 22/06/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG