argv[0]

Karel Zak zakkr na zf.jcu.cz
Středa Duben 2 14:16:25 CEST 2003


On Wed, Apr 02, 2003 at 02:01:11PM +0200, Miloslav Trmac wrote:
> On Wed, Apr 02, 2003 at 01:04:47PM +0200, Petr Stehlik wrote:
> > No a vcera jsem dostal bugreport, ze to nefunguje. Argv[0] obsahuje jen
> > jmeno souboru, ne cestu k nemu. Nejdriv jsem se vysmal gentoo, ale pak
> > mi Honza rekl, ze i FreeBSD a dokonce i Debian mu delaji totez. Ze by to
> > bylo nejak ovlivnene osobou, co u toho pocitace sedi? Nebo nastavenim
> > bashe/csh? Nebo cim?
> Obsah argv[0] je urcen procesem, ktery vola execve () pro spusteni
> vaseho programu. To znamena, ze tam klidne muze byt cely text ceske
> ustavy nebo "Hello world!".

 Hura.. konecne nekdo kdo vi o co jde.

 Nejen, ze zalezi na exec(), ale proces sam muze modifikovat svoje
 argv[0]. A dost se toho pouziva. kouknete se nekdy na to co vypise
 "ps" (napada mne lprng nebo PostgreSQL). Tato moznost modifikace 
 argv[0] je, ale zavisla na OS. Myslim, ze napriklad nektere novejsi 
 BSD systemy maji primo funkci setproctitle().

 Usuzovat tedy na neco duleziteho z argv[0] je IMHO spatna uvaha.

    Karel

-- 
 Karel Zak  <zakkr na zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/


Další informace o konferenci Linux