--- /n/sources/plan9/sys/include/libc.h Wed Sep 18 22:45:28 2013 +++ /sys/include/libc.h Sun Feb 28 00:00:00 2016 @@ -383,6 +403,7 @@ extern void perror(char*); extern int postnote(int, int, char *); extern double pow10(int); +extern void procsetname(char*, ...); extern int putenv(char*, char*); extern void qsort(void*, long, long, int (*)(void*, void*)); extern int setjmp(jmp_buf); --- /n/sources/plan9/sys/src/libc/9sys/mkfile Wed May 14 14:45:01 2014 +++ /sys/src/libc/9sys/mkfile Sun Feb 28 00:00:00 2016 @@ -29,6 +29,7 @@ nulldir.$O\ postnote.$O\ privalloc.$O\ + procsetname.$O\ pushssl.$O\ pushtls.$O\ putenv.$O\ --- /sys/src/libc/9sys/procsetname.c Sun Feb 28 00:00:00 2016 +++ /sys/src/libc/9sys/procsetname.c Sun Feb 28 00:00:00 2016 @@ -0,0 +1,27 @@ +#include +#include + +/* + * based on libthread's threadsetname, but drags in less library code. + * actually just sets the arguments displayed. + */ +void +procsetname(char *fmt, ...) +{ + int fd; + char *cmdname; + char buf[128]; + va_list arg; + + va_start(arg, fmt); + cmdname = vsmprint(fmt, arg); + va_end(arg); + if (cmdname == nil) + return; + snprint(buf, sizeof buf, "#p/%d/args", getpid()); + if((fd = open(buf, OWRITE)) >= 0){ + write(fd, cmdname, strlen(cmdname)+1); + close(fd); + } + free(cmdname); +} --- /n/sources/plan9/sys/src/cmd/aux/listen.c Tue Apr 10 18:47:02 2012 +++ /sys/src/cmd/aux/listen.c Sun Feb 28 00:00:00 2016 @@ -53,7 +53,7 @@ * based on libthread's threadsetname, but drags in less library code. * actually just sets the arguments displayed. */ -static void +void procsetname(char *fmt, ...) { int fd;