/proc/<PID>/mmap chapu to dobre?
Pavel Kankovsky
peak na kerberos.troja.mff.cuni.cz
Středa Leden 28 11:47:53 CET 1998
On Wed, 28 Jan 1998, Vojtech Bubnik wrote:
> asi pred mesicem jsem se dozadoval programu, ktery vypise, ktere
> knihovny sdili ktere programy. Bylo mi receno, ze takovy program
> neexistuje a ze si muzu cist /proc/<PID>/mmap.
neni to sice totez jako /proc/*/mmap, ale existuje program ldd :)
> Takze jsem si prohlidnul zdrojaky jadra, kde se generuje tento
> virtualni soubor a zjistil jsem, ze v sloupecku
> rwx[sp] se vyskytuje pouze p jako private, jako by nic nebylo sdilene.
> Mam jadro 2.0.30. Je to vlastnost toho jadra? Je to v novych jadrech jinak?
s = zmeny jsou zapisovany do souboru a timto zpusobem sdileny mezi vma
a to i mezi ruznymi procesy
p = zmeny jsou lokalni v ramci vma (virtual memory area)
a ukladaji se do "docasnych stranek"
[...]
> kopiruje po 4kb strakach. Takze bych ocekaval, ze v /proc/<PID>/mmap
^^^^^^^^ hezky preklep :)
> bude mnoho 4kb stranek. Nebo to chapu blbe?
tam jsou pouze vma bez ohledu na to, jak jsou namapovany jednotlive
jejich stranky
[...]
> zpusob, jak z techto informaci odvodit jmeno souboru? Me napada pouze
> prohlidnout vsechny soubory v /lib, /usr/lib, /usr/X11R6/lib ....
> a zkontrolovat inode. Ale to se mi zda dost pomale.
vzhledem k tomu, ze staci pouze precist adresare, tak to zas az
tak pomale neni
v 2.1.x je udajne cosi, co umoznuje to jmeno ziskat bez prohledavani
filesystemu (dentries nebo tak nejak)
> Ani me nenapada, jak rozumnym zpusobem priradit namountovany svazek
> cislu zarizeni. Opet bych mohl precist /dev a tam najit cislo zarizeni,
> priradit tomu jmeno souboru a ten najit v /proc/mounts. Ale ani tot mi
> nepripada prilis elegantni.
a co takhle projit mountpointy a na kazdem udelat stat() a zjistit, zda-li
nema stejne cislo zarizeni?
> hackeri, jak to je?
konecne nekdo, kdo snad vi, co znamena "hacker" :)
--Pavel Kankovsky aka Peak (troja.mff.cuni.cz network administration)
[ Boycott Microsoft -- http://www.vcnet.com/bms ]
Další informace o konferenci Linux