different behaviour on fbsd and linux

Dan Lukes dan at obluda.cz
Sun Feb 19 03:59:26 CET 2006


Divacky Roman napsal/wrote, On 02/18/06 18:17:
>    pid = fork();
> 
>    if (pid == 0)
>       execl("/bin/ls", NULL);

> works differently on fbsd and on linux. on fbsd it basically ls each record in
> ENV on linux it executes ls listing all files in cwd.
> 
> can someone explain me why?

	S ohledem na nedostatecne informace se da i duvodech rozdilneho chovani 
jen spekulovat. Opravdu me zrovna u tebe prekvapuje, ze neuvadis zadne 
blizsi oznaceni systemu - a u Linuxu je presne uvadeni verzi jeste 
daleko podstatnejsi nez u FreeBSD. Tedy, v tomto pripade, s ohledem na 
to, ze execl neni funkce jadra, ale knihovny, je predevsim podstatne 
uvest cokoliv, co dovoli jednoznacne identifikovat verzi knihovny. V 
idelanim pripade bys pak mel uvest i to, podle jake specfikace je udajne 
execl funkce na onom Linuxu implementovana (tezko predpokladat, ze kazdy 
v konference o FreeBSD bude vedet jen z cisla z verze glibc podle ceho v 
ni byla implementovana funkce execl).

	Takze bych konstatoval jen tolik, ze neexistuje zadny duvod, aby se dve 
funkce v ruznych knihovnach chovaly naprosto stejne jen proto, ze se 
stejne jmenuji (ve skutecnosti nemusi delat nic ani vzdalene navzajem 
podobneho). A to dokonce ani v pripade, ze obe o sobe tvrdi, ze jsou 
psane podle stejne specifikace (v takovem pripade by se stejne mely 
chovat jen v takovem pripade, ze byly spravne, v souladu se specifikaci, 
zavolany a porovnavame jen takove vlastnosti vysledku, ktere zminena 
norma definuje).

	Jenze, to urcite vis sam a tak se trochu obavam, ze tohle asi neni ta 
odpoved, kterou cekas. Ale ani po opakovanem precteni otazky nevim, 
jakou jinou odpoved's ocekavas ...


					Dan




P.S. Zkusil jsem to na jednom nahodne vybranem systemu obsahujicim 
nejake Linuxove jadro (nevim co je to za distribuci ani jaka je tam 
verze glibc) a tam se to proste nechovalo tak, jak popisujes, ze se to 
na "Linuxu" chova.


-- 
Dan Lukes                                   SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz,dan at kolej.mff.cuni.cz



More information about the Users-l mailing list