1,vfork如果调用后没有执行exec,会导致进程非正常退出,所以必须调用exec函数族或者exit
2, fork后父进程的文件描述符表(进程级)也会被复制到子进程中,二者共享同一个文件表(内核级,不会复制。类似于dup函数)
文件描述符表:进程级
fd flags,file pointers
fd 0:
fd 1:
文件表:内核级
file status flags
current file offset
v-node pointer
文件表里面有偏移量
open 同一文件: fd1 -->文件表1 ---->v节点--->i节点
fd2--->文件表2---->v节点--->i节点
这两个指向不同文件表,但是是同一v节点
dup的话是直接指向同一文件表,所以偏移量是相同的.