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