社区
C语言
帖子详情
vfork、exec问题
anton_99
2019-04-19 02:09:50
书上说vfork函数后子进程和父进程是公用一个内存空间,那么exec会覆盖进程的代码段,数据段和堆栈段。那么在vfork之后再执行exec不会对父进程造成影响吗?还句话说,父进程不会被替换吗?
...全文
41
回复
打赏
收藏
vfork、exec问题
书上说vfork函数后子进程和父进程是公用一个内存空间,那么exec会覆盖进程的代码段,数据段和堆栈段。那么在vfork之后再执行exec不会对父进程造成影响吗?还句话说,父进程不会被替换吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
【Linux】进程二 (PCB &
fork
/v
fork
& wait/waitpid & exit/_exit &
exec
函数族 & 环境变量)
一、描述进程——PCB ·进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合 ·我们称为PCB,Linux操作系统下的PCB是:task struct 2、task_struct——PCB的一种 ·在Linux中描述进程的结构体叫做task_struct. ·task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里包含着进程的信息 3.task_struct内容分类 ·标示符:描述本进程的唯一标示符,用来区别其他进程 ·状态:任务状态,退出代码,退出信号 ·优先级:相对于其他进程的优先级 ·程序计数器:程序中即将被执行的下一条指令的地址 ·内存指针
深入解读Linux进程函数
fork
(),v
fork
(),
exec
X()
本文研究的主要是Linux进程函数
fork
(),v
fork
(),
exec
X()的相关内容,具体介绍如下。 函数
fork
()
fork
函数:创建一个新进程 1、
fork
()成功后,将为子进程申请PCB和用户内存空间。 2、子进程会复制父进程用户空间的所有数据(代码段、数据段、BSS、堆、栈),文件描述符。 3、复制父亲进程PCB中绝大多数信息。 4、虽然子进程复制了文件描述符,而对于文件描述符相关的文件表项(struct file结构),则采用共享的方式。 一个实例: #include
//
fork
fuction #include
//fil
Linux 创建子进程执行任务的实现方法
Linux 操作系统紧紧依赖进程创建来满足用户的需求。例如,只要用户输入一条命令,shell 进程就创建一个新进程,新进程运行 shell 的另一个拷贝并执行用户输入的命令。Linux 系统中通过
fork
/v
fork
系统调用来创建新进程。本文将介绍如何使用
fork
/v
fork
系统调用来创建新进程并使用
exec
族函数在新进程中执行任务。
fork
系统调用 要创建一个进程,最基本的系统调用是
fork
: # include
pid_t
fork
(void); pid_t v
fork
(void); 调用
fork
时,系统将创建一个与当前进程相同的新进程。通常将
unix 编程进程控制详细介绍
unix 编程进程控制:
fork
函数
fork
创建子进程,子进程是父进程的副本,会得到父进程数据空间、堆、栈的副本。 然后文件的共享这块也比较复杂,父进程和子进程各自都有文件描述符表,但是文件表示公用的(而一般两个进程,文件表是每个进程独有的),也就是说文件的偏移量是一致。一个文件在父进程中打开,在子进程中也会被打开一遍,因此如果在子进程中不使用这个文件,先要close这个文件。 v
fork
函数 和
fork
函数有如下区别: 1:v
fork
子进程先执行,并且子进程调用
exec
函数 2:v
fork
子进程不会copy父进程的地址空间,也就是会公用。 exit函数 exit函数会关闭所以I
UNIX环境高级编程(第八章)
第8章 进程控制 141 8.1 引言 141 8.2 进程标识 141 8.3
fork
函数 142 8.4 v
fork
函数 145 8.5 exit函数 147 8.6 wait和waitpid函数 148 8.7 wait3和wait4函数 152 8.8 竞态条件 153 8.9
exec
函数 156 8.10 更改用户ID和组ID 160 8.10.1 setreuid 和setregid函数 162 8.10.2 seteuid和 setegid函数 163 8.10.3 组ID 163 8.11 解释器文件 164 8.12 system函数 167 8.13 进程会计 171 8.14 用户标识 175 8.15 进程时间 176 8.16 小结 178 习题 178
C语言
69,370
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章