Linux中如何在子进程获取父进程的pid
我要在子进程中使用父进程的pid,请问怎样才能获取父进程的pid呢?我说的是可以用个什么函数,再就是程序编译没错,但是运行时出现“实时信号2”这个是什么情况啊!...
我要在子进程中使用父进程的pid,请问怎样才能获取父进程的pid呢?
我说的是可以用个什么函数, 再就是程序编译没错,但是运行时出现“实时信号 2”
这个是什么情况啊! 展开
我说的是可以用个什么函数, 再就是程序编译没错,但是运行时出现“实时信号 2”
这个是什么情况啊! 展开
4个回答
展开全部
getppid() 获取父进程 id,
getpid() 获取当前进程 id.
比如
int main()
{
int pid = fork();
if (pid == 0)
{
// child
printf ("ParentID is %d\n", getppid());
}
esle
{
printf("I'm parent, id %d\n", getpid());
wait(NULL);
}
return 0;
}
再就是程序编译没错,但是运行时出现“实时信号 2”
没有源码,谁也帮不上你。 你可以用 gdb去调试。
getpid() 获取当前进程 id.
比如
int main()
{
int pid = fork();
if (pid == 0)
{
// child
printf ("ParentID is %d\n", getppid());
}
esle
{
printf("I'm parent, id %d\n", getpid());
wait(NULL);
}
return 0;
}
再就是程序编译没错,但是运行时出现“实时信号 2”
没有源码,谁也帮不上你。 你可以用 gdb去调试。
展开全部
你是父进程创建了一个子进程,在子进程中又创建了一个子进程(这个子进程是原本的父进程的孙子进程),所以原本的父进程只有一个子进程,当你输出第二个的时候,当然就是返回默认值-1了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用TOP查看进程试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序员好不喜欢逛这里吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询