本文主要是介绍folk函数功能介绍以及使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
功能:创建一个子进程。
形式:pid_t fork(void); 例:pid_t pid=fork();
失败:pid返回: -1;
成功: pid返回:
① 父进程返回子进程的 ID(非负)
②子进程返回 0
pid_t 类型表示进程 ID,但为了表示-1,它是有符号整型。(0 不是有效进程ID, init 最小,为 1)
注意返回值,不是 fork 函数能返回两个值,而是 fork 后,fork 函数变为两个,父子需【各自】返回一个。
例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>int main(int argc, char *argv[])
{printf("before fork-1-\n"); // 在fork之前打印,父进程执行,只执行一次printf("before fork-2-\n");printf("before fork-3-\n");printf("before fork-4-\n");pid_t pid = fork(); // 创建子进程if (pid == -1) {perror("fork error");exit(1);} else if (pid == 0) { // 子进程printf("---child is created\n");} else if (pid > 0) { // 父进程printf("---parent process: my child is %d\n", pid);}printf("===================end of file\n"); // 父子进程各自执行一次.return 0;
}
程序打印结果:
可得:
子进程出现(folk()函数)之前的程序,只由父进程执行,子进程之后的函数,子进程与父进程各自执行一遍。
这篇关于folk函数功能介绍以及使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!