如何解决当进程被 fork 时,中间指针表会发生什么? C叉函数
如您所知,进程中的文件描述符标识文件操作(读取、写入...)。当我们对这些文件进行操作时,我们必须与操作系统通信,因为它是管理文件的操作系统。为此,操作系统有一个中间指针表,其中为每个进程中的每个打开的 FD 创建一个条目。该表包含有关所有打开的 FD 的信息(文件指针、操作类型...)。我的问题是,当进程被分叉时,这张表会发生什么?我的直觉回答是,属于分叉进程的表条目在表中被复制,以便在子进程中有其他中间指针,但我没有找到任何关于此的信息,所以我很高兴有人澄清这一点。
先谢谢了 =)
解决方法
表格被复制。复制不仅仅是一个 <input onInput={handleOnInput}/>
const handleOnInput = (e) => {
let maxNum = 4;
if (e.target.value.length > maxNum) {
e.target.value = e.target.value.slice(0,maxNum);
}
};
并且未完成的 IO 仅在父进程中完成。子级继承父级的所有句柄。内核文件对象本身没有重复,而只是它们的表引用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。