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