[LUGOS] Processi...

Jaka Močnik jaka at gnu.org
Mon Nov 22 14:54:53 CET 2004


On Mon, 2004-11-22 at 14:09 +0100, David Klasinc wrote:
> Banzai!
hoj, mojster David!

>  Kako dobis celotno ime procesa? Oziroma, kako najti nek proces?
hja, ker kaj takšnega, kot je "ime procesa", ne obstaja, ga boš zelo
težko dobil;) proces ima le PID...

še najbližje temu, kar imenuješ "ime" je argv[0], ki ga običajno vidiš v
izpisu ps.

če se proces poganja s softlinki na en sam executable in potem glede na
argv[0] ugotovi, kaj naj počne (sendmail, postfix, exim & prijatelji
počnejo tovrstne neumnosti), tedaj si f* u*.

[turning on the stupid proposal mode]

lotiva se zdaj tvoje težave v najboljši matematični maniri: prevediva to
na problem, katerega rešitev poznava...

najprej predpostavimo, da je proces, ki ga iščeš, vedno posledica enega
in istega executabla, potem lahko morebiti narediš MD5 hash čez ta
executable in ga primerjaš s hashem čez /proc/<pid>/exe, za vse
procese ;)))) - da izboljšaš še časovno potratnost, še preden se init v
jedru prvič odfork()a poskrbiš, da dinamični povezovalnik naloži tvoj
modul, ki prekrije fork() iz glibc, tako da najprej pokliče izvirni
fork(), potem pa po "razcepu" procesa izračuna hash za exe sina ter ga
shrani v nekakšno "bazo hashev": ker se velja opirati na preizkušene
tehnologije, ti svetujem, da te hashe shranjuješ kar v DNSu. s tem tvoj
- na videz nerešljiv - problem prevedeš na preprosto poizvedbo v DNS.

lp,
	jaKa


-- 

email: jaka at gnu.org
w3:    http://fish.homeunix.org/people/jaka





More information about the lugos-list mailing list