3725|3

17

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

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

 

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的子进程。

 
 

 

最新回复

正常逻辑,没毛病。   详情 回复 发表于 2021-9-14 17:00
点赞 关注

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

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

 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

板凳
 

怎么了?有什么问题吗?

 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

1942

帖子

2

TA的资源

版主

4
 

正常逻辑,没毛病。

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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