On Wed, 10 May 2000, Bruce Momjian wrote:
> > > So if you use -lutil, the argv[0] trick works, and if you don't, it
> > > doesn't? If so, we can get that into the FreeBSD template.
> >
> > 'splain the "argv[0] trick" briefly.
>
> It is a nifty BSD one. If you assign argv[0] in the program to a
> string, it shows in ps.
>
> argv[0] = "new ps string";
>
> The Linux method is:
>
> strcpy(argv[0], "new ps string");
>
> In the second case, you are actually writing into the environment area
> use to store args. Not real great, but it works on Linux.
This does not:
#include <stdio.h>
#include <sys/types.h>
#include <libutil.h>
int main(int numargs, char *argv[])
{
int ii;
argv[0] = "Postgres Power!";
for(ii=0;ii<100;ii++) sleep(1);
return 0;
}
$ cc test.c -lutil -o test
$ ./test
making it strcpy(argv[0],"Postgres Power!"); didn't either.
But:
making it: setproctitle("Postgres Power!"); gives this:
34273 p3 S 0:00.00 test: Postgres Power! (test)
Vince.
--
==========================================================================
Vince Vielhaber -- KA8CSH email: vev@michvhf.com http://www.pop4.net128K ISDN from $22.00/mo - 56K Dialup from
$16.00/moat Pop4 Networking Online Campground Directory http://www.camping-usa.com Online Giftshop
Superstore http://www.cloudninegifts.com
==========================================================================