[TLUG] pytanie - generowanie pid'ow

Piw tlug at linux.gda.pl
Wed, 23 Mar 2005 02:20:41 +0100


Hello Michal,

Tuesday, March 22, 2005, 3:02:04 PM, you wrote:

> Witam, mam taki problem:

> jadro 2.4.30+grsec
> kazdy nowy proces ma generowany nowy (pseudo)losowy PID.
> I teraz - czy istnieje mozliwosc, ze jakis proces dostanie taki sam PID co
> inny proces odpalony (i np. po sekundzie zakonczony) z kilkadziesiat
> sekund wczesniej?
> Czy moze algorytm do losowania jest napisany tak, zeby na przyklad nie
> losowac liczb, ktore ostatnio zostaly wylosowane?

> Z tego co wypatrzylem to:
> nadawanie nowych pidow to get_pid(). get_pid korzysta gr_random_pid().
> gr_random_pid korzysta z get_random_long().
> I tu cholera konczy sie moje sledztwo bo nie moge znalezc tej funkcji w
> zrodlach. Wg. google jest ona w jakims utils.c. Gdzie tego szukac?

> Z gory dzieki za jakies wskazowki a najlepiej za odpowiedz na moje glowne
> pytanie :)

> pzdr.

Witam
Wale    z  autopsji,  bez  patrzenia  w  zrodla  - ale procesy dostaja
pidy  nie  losowo,  tylko w kolejnosci od 1 do 64k (potem reset). Przy
dawaniu pida jest tylko test, czy dany proces biega, jak tak to liczba
jest  omijana. A i jeszcze co zauwazylem, ze pidy podprocesow (np. pid
ps'a na bashu, na sshd user na sshd) dostaja nie kolejne liczby, ale z
przeskokiem  co  X  gdzie  X jest glebokoscia podprocesu (ale to tak z
luznych obserwacji)

Pozdrawiam
-- 
Piw