Eksplorowanie /PROC System plików w Linux
- 800
- 216
- Ignacy Modzelewski
Dzisiaj zajmiemy się w środku /Proc katalog i rozwinąć go znajomość. /Proc katalog jest obecny na wszystkich Linux systemy, niezależnie od smaku lub architektury.
Jednym nieporozumieniem, że musimy natychmiast wyjaśnić, jest to, że /Proc katalog jest NIE prawdziwy System plików, w sensie tego terminu. To jest Wirtualny system plików. Zawarty w Procfs to informacje o procesach i innych informacji systemowych. Jest zmapowany na /Proc i zamontowany na uruchomić czas.
Eksplorowanie /system plików PROCNajpierw wejdźmy do /Proc katalog i rozejrzyj się:
# cd /proc
Pierwszą rzeczą, którą zauważysz, jest to, że są jakieś znane pliki dźwiękowe, A potem cała masa ponumerowane katalogi. ponumerowane katalogi przedstawiać procesy, lepiej znany jako Pids, i w nich, polecenie, które je zajmuje. Pliki zawierają informacje systemowe, takie jak memory (meminfo), Informacje o procesorze (Cpuinfo) i dostępne systemy plików.
Przeczytaj także: Linux darmowe polecenie, aby sprawdzić pamięć fizyczną i zamienić pamięć
Najpierw spójrzmy na jeden z plików:
# cat /proc /meminfo
Przykładowy wyjście
który zwraca coś podobnego do tego:
MEMTOTAL: 604340 KB MEMFREE: 54240 KB Bufory: 18700 KB buforowane: 369020 KB Zamień: 0 KB Aktywne: 312556 KB Nieaktywne: 164856 KB Active (Anon): 89744 KB Inaktywne (Anon): 360 KB (plik): 222812 KB Inaktywne (Plik): 164496 KB Undertable: 0 KB mlocked: 0 kb Swaptotal: 0 kb swapfree: 0 kb brudny: 0 kb piszbowy: 0 kb anonpages: 89724 kb Mapped: 18012 kb shmem: 412 kb płyty: 50104 kb sreclable: 40224 kb …
Jak widzisz, /proc/meminfo zawiera mnóstwo informacji o pamięci twojego systemu, w tym całkowitą dostępną kwotę (w KB) i kwota bezpłatna w dwóch górnych liniach.
Uruchamianie polecenia CAT na dowolnym pliku w /Proc Wyświetli ich zawartość. Informacje o dowolnych plikach są dostępne na stronie Man, uruchamiając:
# Man 5 /Proc /
Dam ci szybkie podsumowanie /Proc akta:
- /proc/cmdline - Informacje o wierszu poleceń jądra.
- /Proc/Consola - Informacje o obecnych konsolach, w tym Tty.
- /proc/urządzenia - Sterowniki urządzeń aktualnie skonfigurowane dla działającego jądra.
- /Proc/DMA - Informacje o obecnych kanałach DMA.
- /proc/fb - Urządzenia nabrzeżne.
- /Proc/FileSystemS - Obecne systemy plików obsługiwane przez jądro.
- /Proc/iomem - Aktualna mapa pamięci systemowej dla urządzeń.
- /proc/ioports - Zarejestrowane regiony portów do komunikacji wyjściowej wejściowej z urządzeniem.
- /proc/loadavg - Średnia obciążenia systemu.
- /Proc/Blokks - Pliki obecnie zablokowane przez jądro.
- /proc/meminfo - Informacje o pamięci systemowej (patrz powyższy przykład).
- /proc/misc - Różne sterowniki zarejestrowane na różne główne urządzenie.
- /proc/moduły - Obecnie załadowane moduły jądra.
- /Proc/Mounts - Lista wszystkich mocowań używanych przez system.
- /proc/partycje - Szczegółowe informacje o partycjach dostępnych dla systemu.
- /Proc/PCI - Informacje o każdym urządzeniu PCI.
- /Proc/Stat - Rekord lub różne statystyki przechowywane przed ostatnim ponownym uruchomieniem.
- /Proc/Swap - Informacje o przestrzeni swapowej.
- /Proc/Uptime - Informacje o aktualizacji (w sekundach).
- /proc/wersja - Wersja jądra, wersja GCC i dystrybucja Linux.
W /Proc ponumerowane katalogi znajdziesz kilka akta I spinki do mankietów. Pamiętaj, że liczby tych katalogów korelują z Pid polecenia uruchomionego w nich. Użyjmy przykładu. W moim systemie jest nazwa folderu /Proc/12:
# cd /proc /12 # ls
Przykładowy wyjście
attr Coredump_filter io montowanie oom_score_adj smaps wchan autogroup cpuset opóźnienie mountStats pagemap stos auxv cwd limity netto osobowość statystyka środowiska loginuid ns root Statm Clear_refs mapy exe mapy numa_maps Status Status Status CMDLINE FD FD MEOM_ADJ STANISTAT SYSCALL
Jeśli uruchomię:
# cat/proc/12/status
Dostaję następujące:
Nazwa: XenWatch Stan: S (Sleeping) TGID: 12 PID: 12 PPID: 2 Tracerpid: 0 UID: 0 0 0 0 GID: 0 0 0 0 FDSISE: 64 Grupy: Wątki: 1 SIGQ: 1/4592 SIGPND: 000000000000000000 Shdpnd : 0000000000000000 SigBlk: 0000000000000000 SigIgn: ffffffffffffffff SigCgt: 0000000000000000 CapInh: 0000000000000000 CapPrm: ffffffffffffffff CapEff: ffffffffffffffff CapBnd: ffffffffffffffff Cpus_allowed: 1 Cpus_allowed_list: 0 Mems_allowed: 00000000,00000001 Mems_allowed_list: 0 voluntary_ctxt_switches: 84 nonvoluntary_ctxt_switches: 0
Więc co to oznacza? Cóż, ważna część znajduje się na górze. Z pliku stanu możemy zobaczyć, do którego należy ten proces Xenwatch. Jego obecny stan jest spanie, i jego proces ID Jest 12, oczywiście. Widzimy również, kto to działa, jako UID I KOŁOWACIZNA Czy 0, wskazując, że ten proces należy do źródło użytkownik.
W dowolnym numerowanym katalogu będziesz mieć podobną strukturę plików. Najważniejsze i ich opisy są następujące:
- CMDLINE - wiersz poleceń procesu
- otaczać - Zmienne środowiskowe
- FD - Deskryptory pliku
- limity - zawiera informacje o granicach procesu
- wierzchowce - powiązana informacja
Zauważysz również szereg linków w ponumerowanym katalogu:
- CWD - link do aktualnego katalogu roboczego procesu
- exe - link do wykonywania procesu
- źródło - link do katalogu pracy procesu
To powinno zacząć od zapoznania się z /Proc informator. Powinno to również zapewnić wgląd w to, w jaki sposób wiele poleceń uzyskuje swoje informacje, takie jak czas aktu, lsof, uchwyt, I Ps, żeby wymienić tylko kilka.
- « Mutt - klient e -mail z wierszem poleceń do wysyłania maili z terminalu
- 11 Mniej znane przydatne polecenia Linux »