Cách sử dụng procfs để lấy thông tin liên quan đến hệ thống trong Linux

Cách sử dụng procfs để lấy thông tin liên quan đến hệ thống trong Linux

Chia sẻ kiến thức 04/08/2023

Bạn có biết rằng Linux có một hệ thống tệp bổ sung được gọi là procfs không? Đây là cách bạn có thể sử dụng nó.

 

Nếu bạn nhìn vào hệ thống tệp Linux, bạn có thể thấy một thư mục /proc có nhiều số lạ và các tệp khác bên trong. Thư mục này chứa rất nhiều thông tin hữu ích liên quan đến hệ thống Linux của bạn và các quy trình đang chạy trên đó.
 

Bài viết này sẽ thảo luận chi tiết về hệ thống tập tin proc, cùng với hướng dẫnvề cách lấy thông tin liên quan đến hệ thống bằng procfs.

 

Hệ thống tập tin Proc là gì?

Hệ thống tập tin proc (procfs, viết tắt của proc filesystem) là một ý tưởng mượn từ  hệ thống nghiên cứu Plan 9 của Bell Labs, một nghiên cứu kế thừa hệ thống Unix ban đầu được phát triển ở đó.

Hệ thống tệp mở rộng khái niệm ban đầu về việc có “mọi thứ dưới dạng tệp” (everything as a file), bao gồm cả thiết bị phần cứng, đến biểu thị mọi quy trình đang chạy trên hệ thống dưới dạng phân cấp tệp mà bạn có thể xem xét bằng các công cụ tiêu chuẩn.

Danh sách thư mục Linux /proc

Tệp hữu ích nhất trong hệ thống phân cấp proc cho thông tin hệ thống là tệp cpuinfo. Để xem nó, gõ:

cat /proc/cpuinfo

Tùy thuộc vào số lượng lõi CPU mà máy của bạn có, tệp này có thể chứa nhiều thông tin. Do đó, thay vì dùng cat, bạn có thể muốn dùng Most, pager của Linux .

Các tệp hữu ích khác trong thư mục /proc là: meminfo hiển thị các chi tiết liên quan đến bộ nhớ hệ thống, tệp mount cung cấp thông tin về hệ thống tệp được gắn (mount). Bạn có thể dễ dàng kiểm tra các tệp này bằng các công cụ xử lý văn bản tiêu chuẩn của Linux.

Trong hệ thống tệp Proc, tất cả các quy trình đang chạy đều có thư mục riêng, đó là số ID quy trình hoặc PID (viết tắt của process ID) của chúng. Ví dụ: quy trình 1, quy trình init bắt đầu tất cả các quy trình khác trên hệ thống Linux khi khởi động, có thư mục riêng với sô 1, /proc/1.

Tệp trạng thái xử lý

Trong khi tìm quy trình bạn muốn điều tra, bạn sẽ sử dụng lệnh ps, top, htop hoặc các lệnh Linux khác để liệt kê PID của quy trình đó. Khi bạn đã tìm thấy PID tiến trình, hãy điều hướng đến thư mục đó bên dưới /proc.

Bên trong thư mục quy trình, bạn sẽ tìm thấy một số tệp chứa thông tin về các khía cạnh khác nhau của quy trình. Ví dụ:  exe là một liên kết tượng trưng đến tệp thực thi đã khởi chạy quy trình, environ liệt kê các biến môi trường và  cmdline hiển thị bất kỳ đối số dòng lệnh nào mà quy trình được khởi chạy. Tệp status liệt kê rất nhiều thông tin này ở định dạng dễ đọc hơn.

Nhận thông tin hệ thống bằng Procfs

Hệ thống tập tin Proc cho thấy rằng gần như mọi thứ đều là một tập tin trong Linux, kể cả những thứ bạn không ngờ tới. Ngay cả bên trong thư mục gốc, bạn sẽ tìm thấy rất nhiều tệp, mỗi tệp chứa thông tin về các thành phần khác nhau của hệ thống.

 

Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX ở đây:

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/use-procfs-get-system-information-linux/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, phường Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        

Cơ quan chủ quản: Công ty Cổ phần Giáo dục Trực tuyến FUNiX
MST: 0108171240 do Sở kế hoạch và Đầu tư thành phố Hà Nội cấp ngày 27 tháng 02 năm 2018
Địa chỉ:
Văn phòng Hà Nội: Tầng 4, Tòa nhà 25T2, Đường Nguyễn Thị Thập, phường Yên Hòa, Hà Nội.
Văn phòng TP.HCM: Lầu 8, Tòa nhà Giày Việt Plaza 180-182 Lý Chính Thắng, phường Nhiêu Lộc, TP. Hồ Chí Minh.
Hotline: 078 231 3602 – Email: info@funix.edu.vn

yêu cầu gọi lại