Seznam bezicich procesu - programovani

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Čtvrtek Prosinec 5 04:07:33 CET 2002


On Tue, 3 Dec 2002, Karel Zak wrote:

> On Mon, Dec 02, 2002 at 08:15:17PM +0100, Pavel Kankovsky wrote:
> > On Tue, 26 Nov 2002, Karel Zak wrote:
> > 
> > > > Zadna. Budete to muset udelat stejne, jako to dela napriklad ps - tedy 
> > > > projit si strom v /proc
> > > 
> > >  Grrr.. takto se programovalo v DOSu pred dvaceti lety.... 
> > 
> > K MS DOSu bych spis prirovnaval open("/dev/kmem", O_RDONLY) :)
> 
>  Unika mi souvislost. Procps (linux) pouziva /proc/ksyms a System.map,
>  -- kmem, syscall table a spol prenechava hackerum :-)

Z /proc/ksyms a System.map se toho o bezicich procesech moc nevycte.
Maximalne se WCHAN prelozi z cisla na symbol, ale nemyslim, ze puvodni
tazatel chtel zrovna tohle.

Narazim na to, ze "klasicka" metoda, jak na unixovych systemech vypsat
seznam procesu spocivala v tom, ze ps si otevrelo /dev/kmem a sahalo
rovnou na datove struktury jadra. Coz je pochopitelne cunarna a nastesti
uz to temer zmizelo na smetisti dejin (a dokonce i v BSD to uz nevydrzeli
a ted to (v prvnim planu) delaji, jestli to dobre chapu, pres nejake
sysctl()).

/proc se nekomu nemusi libit, ale je to proste rozhrani jadra, ktere to
umoznuje delat relativne ciste. Delat to rucne misto pouziti vhodne
knihovny (je-li ta knihovna opravdu vhodna), je sice plytvani energii,
ale rozhodne to nenaplnuje "duch MS DOSu", kde se polovina veci delala
obchazenim OS (nebo toho, na co se v dane situaci oznaceni OS hodi
nejvic) nebo lezenim do jeho vnitrnosti ("List of Lists" apod.).

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."




Další informace o konferenci Linux