git: 9front

ref: 6e67ce955b1f432f2d1dc85909553e65a511b8b8
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);
}