Linux中如何在子进程获取父进程的pid

我要在子进程中使用父进程的pid,请问怎样才能获取父进程的pid呢?我说的是可以用个什么函数,再就是程序编译没错,但是运行时出现“实时信号2”这个是什么情况啊!... 我要在子进程中使用父进程的pid,请问怎样才能获取父进程的pid呢?
我说的是可以用个什么函数, 再就是程序编译没错,但是运行时出现“实时信号 2”
这个是什么情况啊!
展开
 我来答
kwydwuf
2011-07-15 · TA获得超过7410个赞
知道大有可为答主
回答量:1527
采纳率:71%
帮助的人:1999万
展开全部
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去调试。
闯食留双1h
推荐于2018-12-24 · TA获得超过287个赞
知道小有建树答主
回答量:466
采纳率:67%
帮助的人:60.8万
展开全部
你是父进程创建了一个子进程,在子进程中又创建了一个子进程(这个子进程是原本的父进程的孙子进程),所以原本的父进程只有一个子进程,当你输出第二个的时候,当然就是返回默认值-1了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxbbd01
2011-07-15 · TA获得超过944个赞
知道小有建树答主
回答量:823
采纳率:33%
帮助的人:831万
展开全部
用TOP查看进程试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
inster
2018-12-24 · 坚持不懈走匠人路的弟兄
inster
采纳数:9 获赞数:43

向TA提问 私信TA
展开全部
程序员好不喜欢逛这里吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式