Explore el sistema de archivos Linux /proc

el /proc El sistema de archivos todavía parece existir porque se crea al iniciarse y se elimina al apagarlo, pero en realidad es un sistema de archivos virtual que contiene mucha información relevante sobre su sistema y sus procesos en ejecución. En este artículo, profundizaré en su contenido y el valor que usted, como administrador del sistema, puede obtener de él.

Nota: Accedo a archivos y directorios bajo /proc como usuario estándar y no como root a menos que se especifique lo contrario.

Si miras los archivos debajo /proc, verá muchos de ellos (más de 150), dependiendo de cuántos procesos se estén ejecutando.

$ ls /proc
1     174    26    2902   4109   531          fb
10    175    2601  2904   41275  546          filesystems
1004  176    2602  2907   41292  547          fs
<snip>
166   2589   2889  4000   47452  dma          vmstat
167   2594   2898  4005   475    driver       zoneinfo
168   2595   29    40986  522    execdomains

Los archivos numerados son directorios que corresponden a números de proceso o ID de proceso (PID). Por ejemplo, en la primera columna hay procesos con los números 1, 10, 1055, 1057, 1059, etc. Dentro de estos directorios numerados de procesos hay más archivos que tienen que ver con los propios procesos. A continuación se muestra una lista de /proc/411 directorio telefónico.

$ ls /proc/411
ls: cannot read symbolic link /proc/411/cwd: Permission denied
ls: cannot read symbolic link /proc/411/root: Permission denied
ls: cannot read symbolic link /proc/411/exe: Permission denied
arch_status      fdinfo      numa_maps      smaps_rollup
attr             gid_map     oom_adj        stack
autogroup        io          oom_score      stat
auxv             latency     oom_score_adj  statm
cgroup           limits      pagemap        status
clear_refs       loginuid    patch_state    syscall
cmdline          map_files   personality    task
comm             maps        projid_map     timers
coredump_filter  mem         root           timerslack_ns
cpuset           mountinfo   sched          uid_map
cwd              mounts      schedstat      wchan
environ          mountstats  sessionid
exe              net         setgroups
fd               ns          smaps

Hay algunos archivos en cada directorio que los usuarios normales no pueden leer. Para listar o abrir estos archivos, debe ser root.

Notarás que una larga lista (ls -l /proc) revela que los archivos de texto normales tienen un tamaño de 0. Por lo general, un archivo de tamaño cero significa que no tiene contenido. Sin embargo, estos /proc archivos, como /proc propio sistema de archivos (procfs), son virtuales. Contienen información, de lo contrario, ¿por qué estarían allí?

Por ejemplo, mostrar la cpuinfo archivo en la pantalla y verá lo que quiero decir.

$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
stepping	: 9
cpu MHz		: 2303.998
cache size	: 4096 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq monitor ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d
bogomips	: 4607.99
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

Este archivo contiene información sobre su(s) CPU(s). Muchos archivos de texto estándar contienen información del sistema y del hardware y puede cat como lo haría con cualquier otro archivo de texto. Recuerde ignorar este tamaño de archivo cero.

En el próximo episodio de este /proc serie del sistema de archivos, explicaré la información proporcionada en los archivos. También puedes explorar por tu cuenta. La mayoría de los archivos tienen nombres que describen la información que contienen. Algunos archivos son más valiosos que otros para la mente humana. No todos los archivos tienen cpuinfo Donde meminfoinformación de alto nivel que es valiosa para un administrador de sistemas, pero que puede ser importante para desarrolladores, fabricantes de hardware o personal de resolución de problemas de proveedores.

Artículos de interés

Subir