Linux_4.2_多进程程序设计
来源:互联网 发布:自学java不学c语言 编辑:程序博客网 时间:2024/05/16 12:25
4.1创建进程
4.1.1 函数名
fork
4.1.2 函数原形
pid_t fork(void)
4.1.3 函数功能
创建一个子进程
4.1.4 所属头文件
#include<unistd.h>
4.1.5 返回值
成功:在父进程中返回子进程的pid
在子进程中返回的是0
失败: -1
4.1.6 参数说明
无参数
4.2创建进程
4.2.1 函数名
vfork
4.2.2 函数原形
pid_t vfork(void)
4.2.3 函数功能
创建一个子进程,并阻塞父进程
4.2.4 所属头文件
#include <sys/types.h>
#include <unistd.h>
4.2.5 返回值
成功:在父进程中返回子进程的pid
在子进程中返回的是0
失败: -1
4.2.6 参数说明
无参数
4.3 进程等待
4.3.1 函数名
wait
4.3.2 函数原形
pid_t wait(int *status)
4.3.3 函数功能
挂起调用它的进程,直到其子进程结束
4.3.4 所属头文件
#include<sys/types.h>
#include<sys/wait.h>
4.3.5 返回值
成功:返回终止的那个子进程的id
失败:返回-1
4.3.6 参数说明
status: 记录子进程的退出状态
4.4 执行程序
4.4.1 函数名
execl
4.4.2 函数原形
int execl(const char *path,const char *arg,…)
4.4.3 函数功能
运行可执行文件
4.4.4 所属头文件
#include<unistd.h>
4.4.5 返回值
成功:不返回
失败:才返回
4.4.6 参数说明
path:要运行的可执行文件的路径
arg:可执行文件运行需要的参数
fork与vfork区别:
1>fork的父进程与子进程不一定那个先那个后.
vfork先执行子进程后运行父进程.
2>fork创建的子进程具有独立的数据段,堆,栈
vfork创建的子进程与父进程共享数据段,堆,栈
fork与exec区别:
exec执行后是将原有的代码覆盖掉,变成exec的执行程序.
- Linux_4.2_多进程程序设计
- Linux_4.1_进程控制理论
- Linux_4.9_消息队列
- Linux_4.3_无名管道通信
- Linux_4.5_信号通讯编程
- Linux_4.6_信号量互斥编程
- Linux_4.7_信号量同步编程
- Linux_4.8_共享内存通信
- 2-12 多进程程序设计
- linux_c 网络开发日记(4)多进程程序设计_进程控制原理
- 多进程服务程序设计
- 多进程程序设计
- Linux多进程程序设计
- Linux多进程程序设计
- 【多进程】程序设计
- 07-多进程程序设计
- JavaScript程序设计_读书笔记2
- 2-26 守护进程程序设计
- MySQL优化之——查询
- MySQL优化之——插入 更新 删除
- Redis对于key的操作命令
- Android-SharePreference
- JFreeChart简介
- Linux_4.2_多进程程序设计
- Java程序员进化为架构师掌握的知识
- 获取App应用版本号或者当前版本号
- 【Unity3d】如何在Unity中动态载入Lightmapping
- X5内核的问题
- 黑马程序员——IO流
- Android获取App版本号和版本名
- java压缩和解压缩Zip、Jar、Gzip文件
- Qt5.0加载GDAL库文件