Linux多进程——利用fork()函数进行多进程编程
来源:互联网 发布:星际2 天梯数据查询 编辑:程序博客网 时间:2024/05/29 12:57
fork()函数是Linux系统中唯一可以创建一个新进程的方法。其新创建的进程称为子进程,原进程称为父进程。子进程将从父进程处继承了整个父进程的地址空间(包括进程上下文、代码段、进程堆栈、内存信息、打开的文件描述符、进程优先级、进程组号等)。
由于fork()函数所产生的子进程是完全复制的父进程,因此它们会运行同一个程序,父进程的代码从fork()函数的返回值开始分别在两个地址空间中同时运行,从而时两个进程分别获得其各自的fork()函数返回值,父进程返回值为子进程的进程号,子进程的返回值为0,所以可以通过判断fork()函数的返回值来确定该进程为父进程还是子进程。
fork()函数的语法如下:
头文件:#include<sys/types.h> /*定义类型pid_t*/
#include<unisted.h>
函数原型: pid_t fork()
返回值:0 子进程;大于0的整数(子进程id,父进程);-1 出错
fork()函数的实例代码如下
#include <sys/types.h>#include <unistd.h>int main(){pid_t result;/*call fork() function*/result = fork();if(result == -1){printf("fork error\n");}else if(result == 0){printf("the return value is %d\n In child process!!\n my pid is %d\n",result,getpid());}else{printf("the returned valued is %d\n in father process!!\n my pid is %d\n",result,getpid());}return result;}在Linux中对程序进行编译
gcc -wall fork.c -o fork
执行程序:
./fork
输出结果:
0 0
- Linux多进程——利用fork()函数进行多进程编程
- fork函数——多进程编程,其实也不是很难
- Linux下的多进程编程——fork(),exec()等函数的使用
- 多进程编程——fork()
- 多进程编程:fork()函数
- linux下利用fork()函数创建进程
- Linux多进程-fork()
- Linux多进程之fork()函数
- Linux进程——fork函数
- Linux系统编程(8)—— 进程之进程控制函数fork
- 【Linux编程】进程标识符与fork函数
- 多进程编程中fork
- linux多进程(fork)
- linux——fork(进程)
- 父进程利用fork()函数创建子进程并且利用shared_memory进行通信的实例
- 深入浅出--UNIX多进程编程之fork()函数
- 深入浅出--UNIX多进程编程之fork()函数
- 深入浅出--UNIX多进程编程之fork()函数
- 【一天一道LeetCode】#30. Substring with Concatenation of All Words
- 两点(51nod 1416)
- ASCII 、GB2312、GBK、GB18030、UTF-8、unicode 字符集编码详解
- request简介
- Java的值传递
- Linux多进程——利用fork()函数进行多进程编程
- 冒泡排序
- 蓝牙遥控器与小米盒子增强版配对指南
- SQLite数据库存储数据
- dp 矩阵取数问题
- next_permutation函数
- leetcode-15
- 51nod 1352 集合计数(扩展欧几里德)
- 一致性hash算法 java代码实现与测试