Re: setproctitle

From: DervishD
Date: Fri Aug 20 2004 - 11:27:59 EST


Hi William :)

* William Lee Irwin III <wli@xxxxxxxxxxxxxx> dixit:
> > In proc/base.c you can read about 'setproctitle(3)', that is, in
> > library space (user space), not kernel space, but AFAIK only FreeBSD
> > has setproctitle :?
> Observe the following, from fs/proc/base.c:
[...]
> The command-line arguments are being fetched from the process address
> space, i.e. simply editing argv[] in userspace will have the desired
> effect. Though this code is butt ugly.

The problem with this is that is non-portable. Not all Unices
(AFAIK) have this behaviour. The portable solution for changing
argv[0] is to use ONLY the space currently allocated to argv[0]. I
mean, you take argv[0], do a strlen() and overwrite only strlen bytes
of it. The problem with this is that you cannot write an arbitrary
string there. If all Unices provide 'setproctitle' that problem
dissapears.

Anyway is cool to know that, under Linux, I can change the
argv[0] with no problems.

Thanks for the help :)

Raúl Núñez de Arenas Coronado

--
Linux Registered User 88736
http://www.pleyades.net & http://raul.pleyades.net/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/