/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