有没有办法让我的pid的父母的父母?有getpid()
和getppid()
,我在找“ getpppid()
”
PS:我在 Linux 上,代码只能在 Linux 上运行(不是 Unix 也不是任何其他变体)
给你。
pid_t getpppid(void)
{
char exe[256],proc[81],state;
FILE *fp;
int pid,ppid=-1;
snprintf(proc,81,"/proc/%d/stat",(int)getppid());
fp=fopen(proc,"r");
if(fp)
{
fscanf(fp,"%d %s %c %d",&pid,exe,&state,&ppid);
fclose(fp);
}
return (pid_t)ppid;
}
编辑:请记住,如果您的父进程或您的进程自启动以来调用 setuid(),则您的程序可能没有读取该进程统计信息的权限。