ubuntu下编译c文件的时候 出现如下问题

C代码如下#include"stdio.h"#include"sys/types.h"#include"unistd.h"intmain(){pid_tpid1;pid_... C代码如下
#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"

int main()
{
pid_t pid1;
pid_t pid2;

pid1 = fork();
pid2 = fork();

printf("pid1:%d, pid2:%d\n", pid1, pid2);
}

红线中输出结果为什么会出现root@....信息
展开
 我来答
百度网友abe9814
2013-10-06 · 超过15用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:42.9万
展开全部

父进程终止了,子进程仍在运行,子进程被init领养了。shell 受到了结束的信号,然后就输出了……。然后子进程再输出了。

看看AUPE 吧。本人最近在看。经典。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
        int     pid1;

        if((pid1 = fork()) < 0){ 
                fprintf(stderr, "fork error\n");
        }else if(pid1 == 0){            // child
                sleep(1);               // 让父进程先走,不能保证……
                printf("pid = %d, ppid = %d\n", getpid(), getppid());
                exit(0);
        }else{                          // parent
                printf("parent finished\n");
                exit(0);
        }   

        exit(0);
}
chr1999
2013-10-06 · TA获得超过1056个赞
知道小有建树答主
回答量:2462
采纳率:0%
帮助的人:1267万
展开全部
man fork 看看就明白
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式