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.
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.
Nhận thông tin liên quan đến quy trình bằng procfs
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.
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/











Bình luận (0
)