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.