fork 未预期的记号

Linux fork()函数使用报错


zxc@zxc-virtual-machine:~/文档$ pid=fork()
bash: 未预期的记号 "(" 附近有语法错误
zxc@zxc-virtual-machine:~/文档$ fork()
> a
bash: 未预期的记号 "a" 附近有语法错误

请问正确的使用方式是什么呢?

该回答引用ChatGPT

在Ubuntu中,使用fork()函数需要在C语言程序中进行调用,而不是在终端中直接输入。

您需要创建一个包含fork()函数的C程序,例如以下代码:


#include <stdio.h>
#include <unistd.h>

int main() {
    pid_t pid = fork();
    if (pid == -1) {
        printf("Error: fork() failed.\n");
    } else if (pid == 0) {
        printf("Child process created with pid: %d\n", getpid());
    } else {
        printf("Parent process with pid: %d created a child process with pid: %d\n", getpid(), pid);
    }
    return 0;
}

将该代码保存为一个文件,例如fork_example.c,然后使用gcc编译器进行编译:


gcc -o fork_example fork_example.c

然后运行可执行文件:


./fork_example

该程序将创建一个子进程,并显示子进程的PID和父进程的PID。

注意,在终端中直接输入fork()是不会起作用的,因为fork()需要在一个C程序中进行调用。