Lệnh pgrep trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh pgrep của Linux để tìm kiếm các tiến trình đang chạy dựa trên tên hoặc các tiêu chí khác của chúng. Lệnh pgrep là một công cụ mạnh mẽ có thể được sử dụng trong nhiều tình huống khác nhau, chẳng hạn như giám sát các tiến trình hệ thống, tự động hóa các tác vụ hoặc khắc phục sự cố. Bạn sẽ bắt đầu bằng cách hiểu mục đích của lệnh pgrep, sau đó học cách sử dụng nó để tìm kiếm các tiến trình theo tên và cuối cùng khám phá cách kết hợp pgrep với các lệnh khác để giám sát tiến trình nâng cao.

Hiểu Mục Đích của Lệnh pgrep

Trong bước này, bạn sẽ tìm hiểu về mục đích và cách sử dụng lệnh pgrep trong Linux. Lệnh pgrep là một công cụ mạnh mẽ cho phép bạn tìm kiếm các tiến trình đang chạy dựa trên tên hoặc các tiêu chí khác của chúng.

Lệnh pgrep rất hữu ích khi bạn cần tìm ID tiến trình (PID) của một tiến trình đang chạy, đặc biệt khi bạn không biết chính xác tên tiến trình hoặc muốn tìm kiếm các tiến trình dựa trên các tiêu chí cụ thể. Điều này có thể hữu ích trong nhiều tình huống khác nhau, chẳng hạn như giám sát các tiến trình hệ thống, tự động hóa các tác vụ hoặc khắc phục sự cố.

Hãy bắt đầu bằng cách khám phá cách sử dụng cơ bản của lệnh pgrep:

pgrep <process_name>

Lệnh này sẽ trả về PID của (các) tiến trình khớp với <process_name> đã chỉ định.

Ví dụ về đầu ra:

1234
5678
9012

Đầu ra hiển thị PID của các tiến trình khớp với tên tiến trình đã chỉ định.

Sử Dụng pgrep để Tìm Kiếm Tiến Trình Theo Tên

Trong bước này, bạn sẽ học cách sử dụng lệnh pgrep để tìm kiếm các tiến trình theo tên của chúng.

Cú pháp cơ bản để sử dụng pgrep để tìm kiếm các tiến trình theo tên là:

pgrep <process_name>

Điều này sẽ trả về PID của (các) tiến trình khớp với <process_name> đã chỉ định.

Bạn cũng có thể sử dụng các tùy chọn bổ sung với pgrep để tinh chỉnh tìm kiếm của bạn. Ví dụ:

## Tìm kiếm các tiến trình có tên bắt đầu bằng "web"
pgrep -f ^web

## Tìm kiếm các tiến trình thuộc sở hữu của người dùng "labex"
pgrep -u labex

## Tìm kiếm các tiến trình có tên chứa "nginx"
pgrep -l nginx

Tùy chọn -f cho phép bạn tìm kiếm các tiến trình dựa trên toàn bộ dòng lệnh, không chỉ tên tiến trình. Tùy chọn -u cho phép bạn tìm kiếm các tiến trình thuộc sở hữu của một người dùng cụ thể và tùy chọn -l in tên tiến trình cùng với PID.

Ví dụ về đầu ra:

1234 webserver
5678 nginx
9012 webapplication

Đầu ra này hiển thị PID và tên tiến trình của các tiến trình phù hợp.

Kết Hợp pgrep với Các Lệnh Khác để Giám Sát Tiến Trình Nâng Cao

Trong bước cuối cùng này, bạn sẽ học cách kết hợp lệnh pgrep với các lệnh Linux khác để thực hiện các tác vụ giám sát tiến trình nâng cao hơn.

Một trường hợp sử dụng phổ biến là kết hợp pgrep với lệnh ps để có được thông tin chi tiết hơn về các tiến trình đang chạy:

ps -f -p $(pgrep <process_name>)

Điều này sẽ hiển thị thông tin đầy đủ về tiến trình, bao gồm người dùng, PID, PID cha, thời gian bắt đầu và lệnh cho các tiến trình khớp với <process_name> đã chỉ định.

Ví dụ về đầu ra:

UID        PID  PPID  C STIME TTY          TIME CMD
labex     1234  5678  0 10:30 pts/0    00:00:01 /usr/bin/python3 /app/webserver.py
labex     5678  9012  0 10:29 pts/0    00:00:00 nginx: master process nginx -g daemon off;
labex     9012  1234  0 10:29 pts/0    00:00:00 nginx: worker process

Bạn cũng có thể sử dụng pgrep với các lệnh khác, chẳng hạn như kill hoặc top, để quản lý hoặc giám sát các tiến trình hiệu quả hơn:

## Kill tất cả các tiến trình có tên bắt đầu bằng "web"

## Giám sát các tiến trình tiêu thụ CPU hàng đầu

Ví dụ đầu tiên sử dụng pgrep để tìm PID của tất cả các tiến trình có tên bắt đầu bằng "web", sau đó sử dụng lệnh kill để chấm dứt chúng. Ví dụ thứ hai sử dụng pgrep để lấy PID của các tiến trình khớp với <process_name> đã chỉ định, sau đó chuyển chúng đến lệnh top để theo dõi việc sử dụng tài nguyên của chúng.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về mục đích và cách sử dụng lệnh pgrep trong Linux. Lệnh pgrep là một công cụ mạnh mẽ cho phép bạn tìm kiếm các tiến trình đang chạy dựa trên tên hoặc các tiêu chí khác của chúng, có thể hữu ích trong nhiều tình huống khác nhau, chẳng hạn như giám sát các tiến trình hệ thống, tự động hóa các tác vụ hoặc khắc phục sự cố. Bạn cũng đã học cách sử dụng pgrep để tìm kiếm các tiến trình theo tên của chúng, bao gồm sử dụng các tùy chọn bổ sung để tinh chỉnh tìm kiếm của bạn, chẳng hạn như tìm kiếm các tiến trình bắt đầu bằng một tên cụ thể, thuộc sở hữu của một người dùng cụ thể hoặc chứa một chuỗi cụ thể trong tên của chúng.

400+ câu lệnh phổ biến trong Linux