Messages in this thread | | | Date | Fri, 20 Aug 2004 18:20:27 +0200 | From | DervishD <> | Subject | Re: setproctitle |
| |
Hi William :)
* William Lee Irwin III <wli@holomorphy.com> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |