11 công dụng của lệnh ps trong Linux
Đối với quản trị viên hệ thống, ps là một công cụ được sử dụng thường xuyên. Lệnh ps trong Linux được sử dụng để liệt kê các tiến trình hiện đang chạy trên hệ thống, với nhiều chế độ lọc và hiển thị có sẵn thông qua flag và đối số.
Cú pháp của ps có thể hơi lạ. Thông thường ta sẽ tuân theo quy ước UNIX, sử dụng một dấu gạch ngang duy nhất trước mỗi flag. Cho đến nay, cú pháp đó được hỗ trợ rộng rãi nhất. Tuy nhiên, lệnh cũng có thể được chạy với cú pháp BSD, loại bỏ dấu gạch ngang có tiền tố và sử dụng cú pháp tên flag riêng biệt. Ví dụ, flag aux thay thế flag -ef phổ biến hơn. Hãy chắc chắn rằng bạn biết mình đang sử dụng cái nào.
Cách sử dụng lệnh ps trong Linux
- 1. Hiển thị tất cả các tiến trình
- 2. Lọc theo người dùng
- 3. Lọc theo tên tiến trình
- 4. Lọc theo ID tiến trình
- 5. Chuyển kết quả sang grep
- 6. Hiển thị các cột cụ thể
- 7. Sắp xếp các tiến trình theo cách sử dụng
- 8. Đổi tên tiêu đề cột
- 9. Hiển thị kết quả theo kiểu cây phân cấp
- 10. Hiển thị các thread bên trong tiến trình
- 11. Hiển thị tất cả các tiến trình root
1. Hiển thị tất cả các tiến trình
ps -ef
Lệnh ps hiển thị tất cả các tiến trình đang chạy với dữ liệu đầy đủ về mỗi tiến trình. Dữ liệu này bao gồm các cột hiển thị PID, loại terminal (TTY), thời gian chạy và tên lệnh.
2. Lọc theo người dùng
ps -e -u userName
Lệnh ps lọc kết quả và chỉ hiển thị các tiến trình thuộc sở hữu của username được chỉ định. Lệnh này cũng có thể được sử dụng mà không cần tiền tố.
3. Lọc theo tên tiến trình
ps -C name
Lệnh ps trên lọc kết quả theo tên tiến trình. Tìm kiếm không phân biệt chữ hoa chữ thường, nhưng tất cả những tên tiến trình đều ở dạng chữ thường sau khi lọc. Lệnh sẽ tìm kiếm thông qua tất cả các tiến trình mà không có tiền tố -e.
4. Lọc theo ID tiến trình
ps -ef -p 1234,5678,9012
Nếu biết ID của tiến trình đang chạy mà bạn muốn hiển thị, bạn có thể lọc một cách cụ thể bằng flag -p. Lệnh này có thể lấy nhiều PID làm đối số, được phân tách bằng một dấu phẩy và không có khoảng trắng.
5. Chuyển kết quả sang grep
ps -ef | grep worker
Nếu muốn linh hoạt hơn khi tìm kiếm các kết quả từ ps, bạn có thể chuyển kết quả sang grep. Mặc dù đây là sự kết hợp của nhiều lệnh, chứ không chỉ một lệnh ps thuần túy, nhưng đó là một phần thông thường của bất kỳ công cụ quản trị viên nào. Với grep, bạn có thể tìm kiếm bằng các biểu thức thông thường để tìm kết quả khớp với mẫu và hơn thế nữa.
6. Hiển thị các cột cụ thể
ps -e -o pid,uname,pcpu,pmem,comm
Flag -o thiết lập các tùy chọn hiển thị đầu ra cụ thể cho những kết quả của lệnh ps. Hãy xem danh sách đầy đủ các tùy chọn hiển thị tiêu chuẩn cho lệnh ps tại https://linux.die.net/man/1/ps.
7. Sắp xếp các tiến trình theo cách sử dụng
ps -e --sort=-pcpu -o pid,pcpu,comm
Cú pháp trên sắp xếp lệnh theo các cột được liệt kê. Tiền tố trừ (-) sắp xếp tính năng theo thứ tự giảm dần, còn tiền tố cộng (+) sắp xếp theo thứ tự tăng dần. Lệnh này cũng sử dụng flag -o để hiển thị các cột cụ thể, không nhất thiết phải sắp xếp.
8. Đổi tên tiêu đề cột
ps -o pid=Process,ruser=RealUser,comm=Command
Khi sử dụng flag -o để tạo giao diện đầu ra do người dùng chỉ định, các cột có thể được đổi tên. Thêm một dấu bằng (=) và nhập tên mới mong muốn, sử dụng flag -o cho mỗi tiêu đề được đổi tên. Tiêu đề cũng có thể được ẩn trong các cột cụ thể bằng cách để trống phần tên sau dấu bằng. Bạn có thể trộn và kết hợp với các cột tên được đổi tên và theo mặc định. Chỉ cần chắc chắn sử dụng flag -o cho mỗi cột được đổi tên như dưới đây:
ps -e -o pid,pcpu=CPU -o pmem=RAM,comm
9. Hiển thị kết quả theo kiểu cây phân cấp
ps -e --forest
Sử dụng ASCII để tạo cấu trúc kiểu cây, hiển thị các tiến trình. Lệnh hiển thị những tiến trình con của các tiến trình lớn và sắp xếp những kết quả phù hợp. Để ẩn các “nhánh” con, hãy sử dụng -H thay cho --forest.
10. Hiển thị các thread bên trong tiến trình
ps -p 4041 -L
Flag -L chuyển đổi việc hiển thị cho mọi chức năng của ps trên màn hình. Lệnh này hữu ích nhất khi theo dõi các thread của một tiến trình cụ thể.
11. Hiển thị tất cả các tiến trình root
ps -f -U root -u root
Lệnh ps thực hiện tìm kiếm cho tất cả các tiến trình root đang chạy một cách hiệu quả. Lệnh này cho thấy chúng ở định dạng đầy đủ nhờ flag -f. Bạn có thể kết hợp nó với flag -o để tùy chỉnh đầu ra.
Mặc dù nhiều flag kiểu UNIX phù hợp hơn với những lệnh terminal khác, nhưng các lệnh BSD có thể hiển thị thông tin theo nhiều định dạng khác nhau và đôi khi, hữu ích hơn. Nếu bạn thích tìm hiểu về các flag kiểu BSD, hãy xem trang ps man sau: https://linux.die.net/man/1/ps.
Chúc bạn thực hiện thành công!
Bạn nên đọc
-
Những câu lệnh cần biết để thao tác với mạng cho người dùng Linux
-
Tại sao lệnh tldr tốt hơn lệnh man trong Linux?
-
5 ứng dụng ghi chú hữu ích nhất trong Linux
-
Cách cài đặt Umami trên Linux
-
Cách xóa lịch sử trong Ubuntu
-
Cách xóa cache DNS trên Linux
-
18 lệnh Linux thú vị trong Terminal
-
Cách xây dựng công cụ tạo từ ngẫu nhiên bằng Bash trong Linux
-
Cách sử dụng lệnh "echo" trong Linux
Cũ vẫn chất
-
Cách trải nghiệm Apple Music trên máy tính Windows
Hôm qua -
CD Key CS các phiên bản, CD Key CS 1.1, Key CS 1.3, Key CS 1.6
Hôm qua -
Cách kích hoạt Dynamic Lighting trên Windows 11
Hôm qua -
Cách ẩn danh sách bạn bè trên Facebook điện thoại, máy tính
Hôm qua -
Hướng dẫn chèn ảnh dưới chữ trong PowerPoint
Hôm qua -
Hướng dẫn đổi thông tin học sinh trên VnEdu
Hôm qua -
300+ tên nhóm hay và ý nghĩa
Hôm qua 6 -
Cách đếm ô checkbox trong Google Sheets
Hôm qua -
8 cách mở bàn phím ảo trên Windows 10
Hôm qua -
Cách chặn cuộc gọi và tin nhắn thoại trên Telegram
Hôm qua