291|3

15

帖子

0

资源

一粒金砂(中级)

创建子进程实例 [复制链接]

 

Linux进程基础——创建子进程

主要概念:

    父进程与子进程

        创建新进程的那个进程称为父进程,新进程称为子进程。使用 fork() 函数创建子进程。

实验目的:

    创建子进程,分别在父进程和子进程中打印各自的 PID。

相关函数:

#include <sys/types.h>
#include <unistd.h>
pid_t fork(void)        //创建进程
pid_t getpid(void)      //获取进程ID
pid_t getppid(void)     //获取父进程ID

代码:

//fork.c
#include <stdio.h>
#include <unistd.h>

int main(void)
{
	pid_t pid;
	
	pid = fork();
	if(pid < 0)
	{
		printf("fork is error \n");
		return -1;
	}
	
	if(pid > 0)
	{
		printf("This is parent, parent pid is %d\n", getpid());
	}
	if(pid == 0)
	{
		printf("This is child, child pid is %d, parent pid is %d\n", getpid(), getppid()); 
	}
	
	return 0;
}

编译运行:

sixer@ubuntu:~/imx_usr/sys_app/01_process$ gcc -o fork fork.c

sixer@ubuntu:~/imx_usr/sys_app/01_process$ ./fork

实验现象:

sixer@ubuntu:~/imx_usr/sys_app/01_process$ ./fork

This is parent, parent pid is 2039 This is child, child pid is 2040, parent pid is 2039

总结:

    可见父进程PID为2039,父进程创建了PID为2040的子进程。

 
 

 


回复

6112

帖子

0

资源

五彩晶圆(初级)

父进程与子进程看名字很懂,但到了Linux进程基础就有点苦涩,怎么理解


回复

4481

帖子

1

资源

五彩晶圆(初级)

怎么了?有什么问题吗?

个人签名

默认摸鱼


回复

1824

帖子

3

资源

版主

正常逻辑,没毛病。


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表