git: 9front

ref: 586eaabc9ee9b3c3a262176a2c01a48900b1e548
dir: /sys/src/libc/9sys/getppid.c/

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

int
getppid(void)
{
	char buf[32];
	int f;

	snprint(buf, sizeof(buf), "/proc/%lud/ppid", (ulong)getpid());
	f = open(buf, OREAD|OCEXEC);
	if(f < 0)
		return 0;
	memset(buf, 0, sizeof(buf));
	read(f, buf, sizeof(buf)-1);
	close(f);
	return atol(buf);
}