gpt4 book ai didi

c - 如何修改fork()函数?

转载 作者:行者123 更新时间:2023-11-30 19:58:43 25 4
gpt4 key购买 nike

我是操作系统新手,正在从事我的操作系统项目,我想知道如何更改 fork函数(创建子进程的函数)。不知道是不是fork在 Windows 上运行或仅在 Linux 上运行。

我想对 fork 进行一些更改,即它应该打印出是否创建子进程,为此目的我需要以某种方式获取 fork 的定义我找不到的功能。

我知道它存在于<sys/types.h>中,但不知道在哪里。

有人可以给我一条路,或者只给fork函数定义,我会很好,进一步我会自己更新它。

最佳答案

您无法修改fork。这是一个系统调用(通常使用 libc 包装器)。它是 UNIX 特定的,在 Windows 中不以相同的形式存在。

它返回 3 个可能值之一:

0) 这是在子进程中返回的!

正数)子进程id在父进程中返回

负数)创建子进程失败,检查errno原因。

使用示例:

pid_t child_pid = fork();
if (!child_pid) {
// child goes here
} else if (child_pid > 0) {
// parent goes here
} else {
// could not create child
perror("fork");
abort();
}

咨询man 2 fork了解更多详情。

关于c - 如何修改fork()函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22609335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com