argv[0]

Ing. Pavel PaJaSoft Janousek Janousek na FoNet.Cz
Středa Duben 2 13:45:18 CEST 2003


> -----Original Message-----
> From: Petr Stehlik [mailto:pstehlik na sophics.cz] 
> Sent: Wednesday, April 02, 2003 1:33 PM
> To: linux na linux.cz
> Subject: RE: argv[0]
> 
> 
> On St, 2003-04-02 at 13:27, Ing. Pavel PaJaSoft Janousek wrote:
> > 	Z vyse uvedeneho tedy vyplyva, ze se na CWD (Current Working
> > Direcotry) nemuzete spolehat jinak nez volani napr. v LIBC 
> getcwd apod.,
> 
> neco jste musel prehlednout. Mi vubec nejde o CWD, prave naopak!

	Ja Vam rozumim, ale mate pravdu, ze vyse uvedena veta mohla byt
pochopena jinak, nez jaky problem resite..

> > je docela cunarna spolehat se, ze umisteni PROG1 a PROG2 
> musi byt ve stejne
> > lokaci
> 
> proc? Oba jsou soucasti jednoho balicku a je malo pravdepodobne, ze by
> je instalator rozmistil jeden do /usr/bin a druhy do /usr/local/bin
> (treba). 

	Protoze nemate moznost zjistit, kde se vlastne naleza jinak, nez
suplovat shell/OS... To uz radeji pres PID vlezte do /proc...:-)

> Opakuji, neslo o CWD. Slo o to, proc argv[0] nekdy obsahuje 
> celou cestu
> k programu a nekdy ne, pricemz startovni podminky jsou 
> vzdycky stejne -
> tj. predevsim program neni v CWD.

	Startovni podminky nejsou stejne - zalezi na tom, jakym zpusobem
program volate - a to je rovnez startovni podminka, ktera je posleze zavisla
na tom, co s tim nejprve provede shell a v UNIXech je zvykem, ze v PATH je
cesta, ve ktere tyto programy hledat (a casto byva jako posledni lokace
CWD), jenze vyspelejsi shelly maji treba aliasy a co ja vim, kdo co jeste
vymyslel... => nemuzete se spolehnout ani na to, ze program volate tak, jak
jste napsal do prirucky, pripadne jak ho volate pres ruzne exec/swap
apod....:-) A jak rikam, dovozenim toho lze rici, ze ackoli je mozny
predpoklad, ze sam programator ma jasno v tom, kde ma jake komponenty
aplikace, realny system nezna a tudiz cokoli co si nemuze zajistit, tak
prepokladat urcite nastaveni, pokud neni normou apod. neni dobry zpusob.
Pokud byste si do CFG v jakekoli podobe nastavil, ze PROG2 je tam a tam
(protoze jste ho tam nainstaloval) a najednou tam neni, mate pravo zakricet,
ze uzivatel je blb a program smazal/presunul. Jenze pokud ho on presunul na
jiny svazek a udelal na nej korektni odkazy dle moznosti dotycneho OS (treba
pomoci PATH), je to Vas problem, ze mate urcite zadratovane magicke lektvary
ve vasi binarce PROG1... Jak rikam, jedna se ale jen o muj nazor...

-------------------------------------------------------------------
Ing. Pavel Janousek (PaJaSoft)             FoNet, spol. s r. o.
Technicka podpora, Intranet/Internet     Sokolova 67, 619 00 Brno
E-mail: mailto:Janousek na FoNet.Cz         Tel.: +420  5  4324 4749
WWW:    http://WWW.FoNet.Cz/           E-mail: mailto:Info na FoNet.Cz
-------------------------------------------------------------------



Další informace o konferenci Linux