Prilis dlouhy seznam argumentu

Marian Cerny jojo at matfyz.cz
Thu Jun 26 17:09:16 CEST 2008


On 2008-06-26 15:31 +0200, Dan Lukes wrote:
> Marian Cerny wrote:
> >> prubnu to. Xargs jsem zatim nepouzival.Nevite na kolik je omezeni toho 
> >> findu tak jak jsem to mel?
> > 
> > Obmedzenie by malo nejako korespondovat s kern.argmax ale realne ked som
> > to testoval tak je to 261267 znakov pri com v kern.argmax mam 262144.
> 
> 	Uz jen z logiky nemelo. kern.argmax je promenna kernelu, prikazova 
> radka, jeji editace a nasledne zpracovani je vec shellu - a tech je 
> spousta ruznych (a muzes si napsat vlastni - s delsi i kratsi prikazovou 
> radkou dle libosti).

No praveze ono to nie je len vec shellu. Shell spracuje prikazovy riadok
a potom vola exec(). A prave exec() vracia E2BIG ked je prekroceny
kern.argmax (resp. ARG_MAX v /usr/src/sys/sys/syslimits.h, neviem, ktory
sa realne pouziva).

Samozrejme nie je problem napisat shell, ktory ma kratsi prikazovy
riadok. Ale dlhsi nie. On teda aj /bin/sh zvlada dlhsi, napriklad ked sa
pouzije interne echo.

Dalej som este zistil, ze ten limit musi byt minimalne 4096 (POSIXv3) a
ze sa do neho nejako zahrna aj environment, preto je realna velkost
mensia.

Marian



More information about the Users-l mailing list