概述
功能:创建一个子进程。
形式: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 createdn");
} else if (pid > 0) { // 父进程
printf("---parent process: my child is %dn", pid);
}
printf("===================end of filen"); // 父子进程各自执行一次.
return 0;
}
程序打印结果:
可得:
子进程出现(folk()函数)之前的程序,只由父进程执行,子进程之后的函数,子进程与父进程各自执行一遍。
最后
以上就是外向乌冬面为你收集整理的folk函数功能介绍以及使用方法的全部内容,希望文章能够帮你解决folk函数功能介绍以及使用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复