多进程程序设计,王明学learn
多进程程序设计
一、函数学习
1.1 创建进程fork
1.1.1 函数原形
pid_t fork(void);
1.1.2 函数功能
创建一个子进程
1.1.3 所属头文件
<unistd.h>
1.1.4 返回值
成功:父进程返回创建成功的子进程pid子进程返回 0
失败:父进程返回
1.1.5 参数说明
无
1.2 创建进程vfork
1.2.1 函数原形
Pid_t vfork();
1.2.2 函数功能
创建一个子进程,并阻塞父进程
1.2.3 所属头文件
<sys/types.h> <unistd.h>
1.2.4 返回值
成功:父进程返回创建成功的子进程pid子进程返回 0
失败:父进程返回 -1
1.2.5 参数说明
无
fork和vfork对比:
fork和vfork都可以用于创建子进程,但是也有如下不同之处:
1. fork:子进程拥有独立的数据段,堆栈。vfork:子进程与父进程共享数据段,堆栈。
2. fork:父、子进程的执行次序不确定vfork:子进程先运行,父进程后运行
1.3 进程等待wait
1.3.1 函数原形
pid_t wait(int* status);
1.3.2 函数功能
挂起调用它的进程,直到其子进程结束
1.3.3 所属头文件
<sys/types.h> <sys/wait.h>
1.3.4 返回值
成功:返回终止的那个子进程id
失败: -1
1.3.5 参数说明
status:记录子进程退出状态
1.4 执行程序函数名execl
1.4.1 函数原形
int execl(const char* pathname,const char*arg,…)
1.4.2 函数功能
运行一个可执行文件
1.4.3 所属头文件
<unsitd.h>
1.4.4 返回值
成功:不返回
失败:返回
1.4.5 参数说明
Pathname:要运行的可执行文件路径
arg:可执行文件运行需要的参数
1.5终止进程exit等同于_Exit
1.5.1 函数原形
void _exit(int status)
1.5.2 函数功能
终止正在调用的进程
1.5.3所属头文件
<unistd.h>
1.5.4 返回值
无
1.5.5 参数说明
status被用作进城退出状态返回给父进程
父进程退出:可以是return 0和exit退出
子进程退出:只能是exit
多进程程序设计,王明学learn的更多相关文章
- linux驱动程序设计的硬件基础,王明学learn
linux驱动程序设计的硬件基础(一) 本章讲总结学习linux设备程序设计的硬件基础. 一.处理器 1.1通用处理器 通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,它们具有一 ...
- 库函数系统调用文件方式,王明学learn
库函数系统调用文件方式 基于C函数库的文件编程是独立于具体的操作系统平台的,不管是在Windows.Linux还是其他的操作系统中,都是使用这些函数.使用库函数进行程序设计可提高程序的可移植性. 对于 ...
- 静态/动态函数库设计,王明学learn
静态/动态函数库设计 Linux应用程序设计中需要的外部函数主要由函数库和系统调用来提供. 两者区别: 一.函数库分类 函数库按照链接方式可分为: 1.静态链接库 对函数库的链接是放在编译时期(com ...
- ARM伪指令,王明学learn
ARM伪指令 在ARM汇编语言程序中里,有一些特殊指令助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作.伪指令在元程序中的作用是为完成汇编 ...
- ARM指令学习,王明学learn
ARM指令学习 一.算数和逻辑指令 1— MOV 数据传送指令 2.— MVN 数据取反传送指令 3.— CMP 比较指令 4.— CMN 反值比较指令 5.— TST 位测试 ...
- ARM寄存器学习,王明学learn
ARM寄存器学习 ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器.但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式. ...
- 消息队列通信,王明学learn
消息队列通信 消息队列就是一个消息(一个结构)的链表.而一条消息则可看作一个记录,具有特定的格式.进程可以从中按照一定的规则添加新消息:另一些进程则可以从消息队列中读走消息. 每一个消息都是一个结构体 ...
- 共享内存同行,王明学learn
共享内存同行 一.共享内存概念 共享内存是IPC机制中的一种,它允许两个不相关的进程访问同一段内存, 这是传递数据的一种非常有效的方式. 二.函数学习 这里主要有创建共享内存.映射共享内存.分离共享内 ...
- 信号量进程同步,王明学learn
信号量进程同步 一组并发进程进行互相合作.互相等待,使得各进程按一定的顺序执行的过程称为进程间的同步. 信号量在进程同步时初始值为:0 信号量在进程互斥时初始值为:大于0的 本章节主要使用信号量,使的 ...
随机推荐
- 普元部署多个应用的方法(适用EOS6.5以上版本,且无需governor中添加应用)
在EOS下跑default项目之外的另外一个项目,比如defaultNew 步骤1 安装EOS6.5,安装路径如下:E:\program\eos: 启动EOS Eos默认的应用名称为Default 步 ...
- 工作之余,花2个月时间系统学习前端和PHP
http://www.jikexueyuan.com/path/web/ http://www.jikexueyuan.com/path/php/
- windows下安装Apache 64bit
文件下载:http://pan.baidu.com/s/1c0oDjFE 一.Apache的安装 http://www.blogjava.net/greatyuqing/archive/2013/02 ...
- Qt 程序运行图标
Qt5 添加程序图标在pro直接添加一句: RC_ICONS+=resource\appicons\app.ico resource程序代码目录下文件夹. Qt4方式 1.在工程文件夹新建一个res目 ...
- FastReport调用Delphi中的人民币大写转换自定义函数
FastReport调用Delphi中的人民币大写转换自定义函数 FastReport调用Delphi中的人民币大写转换自定义函数 function TJzpzEdit1.MoneyCn(mmje ...
- 如何为自己的windows 8系统的电脑更换锁屏壁纸
现在的人都喜欢个性,今天教大家如何设置自己想要的锁屏壁纸 工具/原料 Windows 8系统的笔记本电脑 方法/步骤 将鼠标移到电脑的右下方,点击设置按钮进入设置页面 找到更改电脑设置并点击进 ...
- JAVA volatile 关键字
一.volatile(易变的) Java 语言提供了一种稍弱的同步机制,即volatile修饰变量.用来确保将变量的更新操作通知到其他线程,保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新 ...
- 【linux】配置SSH免密码登陆
1.输入ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 其中''里的是登陆的密码,因为要设置免密码,所以''里是什么都没有的,空格也不行 2.输入 cat ~/.ss ...
- 【编程题目】如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
转自:http://blog.csdn.net/vast_sea/article/details/8167968 看上去似乎任何已知的算法都无法做到,如果谁做到了,那么所有的排序方法:QuickSor ...
- 【XLL API 函数】 xlDefineBinaryName
用于为 xltypeBigData XLOPER/XLOPER12 分配永久存储名称.用于定义 workbook 保存的位名称,并能在任何时候通过定义名称来访问. 函数原型 Excel12(xlDef ...