git: 9front

ref: 06e7a0c56dcaae14baf1e94e7e348c0ecbd310a4
dir: /sys/src/libc/9sys/procsetname.c/

View raw version
#include <u.h>
#include <libc.h>

void
procsetname(char *fmt, ...)
{
	int fd, n;
	char buf[128];
	va_list arg;

	snprint(buf, sizeof buf, "/proc/%lud/args", (ulong)getpid());
	fd = open(buf, OWRITE|OCEXEC);
	if(fd < 0)
		return;
	va_start(arg, fmt);
	n = vsnprint(buf, sizeof buf, fmt, arg);
	va_end(arg);
	write(fd, buf, n+1);
	close(fd);
}