当前位置: 首页 > news >正文

大气的企业网站源码河南安阳市地图

大气的企业网站源码,河南安阳市地图,网站建设与管理的网页,网站后台登陆密码目录 1.pipe管道读写行为 1.1例题#xff1a;实现父子进程 ls | wc -l 1.2兄弟进程 ls | wc -l 2.管道缓存区 2.1命令查询 2.2函数查询 3.pipe管道的优劣 4.命名管道 fifo 5.mmap 5.1文件进程间通信 5.2建立、释放映射区 5.3匿名映射 6.进程间通信 6.1父子进间通…目录 1.pipe管道读写行为 1.1例题实现父子进程 ls | wc -l 1.2兄弟进程 ls | wc -l 2.管道缓存区 2.1命令查询 2.2函数查询 3.pipe管道的优劣 4.命名管道 fifo 5.mmap 5.1文件进程间通信 5.2建立、释放映射区 5.3匿名映射 6.进程间通信 6.1父子进间通信 6.2无血缘关系进程间通信 1.pipe管道读写行为 - 读管道 1. 管道有数据 read返回实际读到的字节数。 2. 管道无数据1无写端read 返回 0 类似读到文件末尾 ​                       2有写端阻塞等待。 - 写管道 1. 无读端异常终止。 ( SIGPIPE 信号) 2. 有读端1管道已满阻塞等待。 ​                2管道未满返回实际写出的字节数。 1.1例题实现父子进程 ls | wc -l 父进程执行 ls 命令并将其输出写入管道子进程执行 wc -l 并从管道读取输入 int main(int argc, char *argv[]) {pid_t pid;int fd[2];// 先创建pipepipe(fd);pid fork(); // ls | wc -lif (pid 0) { // 子进程 实现 wc -lclose(fd[1]); // 子进程读管道,关闭写端.dup2(fd[0], STDIN_FILENO); // 让 wc 从管道的读端,读数据.execlp(wc, wc, -l, NULL);} else if (pid 0) {close(fd[0]); // 父进程写管道,关闭读端.dup2(fd[1], STDOUT_FILENO);// 将 写出到 屏幕的ls 结果,写入到 管道写端.execlp(ls, ls, NULL);}return 0; } 1.2兄弟进程 ls | wc -l int main(int argc, char *argv[]) {int fd[2], i 0;pid_t pid;pipe(fd);for (i 0; i 2; i)if ((pid fork()) 0) {break;}if (i 0) { // 兄 lsclose(fd[0]);dup2(fd[1], STDOUT_FILENO);execlp(ls, ls, NULL);} else if (i 1) { // 弟 wc -lclose(fd[1]);dup2(fd[0], STDIN_FILENO);execlp(wc, wc,-l,NULL);} else { // 父close(fd[0]);// 父进程不参与管道使用应该关闭写端、读端。保证管道内部数据单向流动。close(fd[1]);for (i 0; i2; i)wait(NULL);}return 0; } 2.管道缓存区 2.1命令查询 2.2函数查询 long fpathconf(int fd, int name);     参1 传 fd[0]/fd[1] 都可以     参2 传 _PC_PIPE_BUF 宏 3.pipe管道的优劣 - 优点简单。比信号、套接字、mmap 简单很多 - 缺点     1. 只能单向通信实现双向通信需要两个管道。     2. 只能应用于父子、兄弟...(有公共祖先)进程间。无血缘关系进程间后来用 fifo 替代。 4.命名管道 fifo - 命令创建mkfifo 管道名 - 函数创建 //可以用于无血缘关系进程间通信   int mkfifo(const char *pathname, mode_t mode); —— 演示代码fifo_w.c   fifo_r.c - 管道中的数据一次性读取读走没。 - 读端以 O_RDONLY 打开 fifo 管道。 - 写端以 O_WRONLY/O_RDWR 打开同一个 fifo 管道。 5.mmap 5.1文件进程间通信 - 有血缘关系、无血缘关系的进程都可以使用同一个文件来实现进间通信。 5.2建立、释放映射区 - mmap 借助文件映射创建共享内存映射区 #include sys/mman.h void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); 参数     addr指定映射区的首地址。通常传NULL表示让系统自动分配     length共享内存映射区的大小。文件的实际大小。     prot共享内存映射区的读写属性。PROT_READ、PROT_WRITE、PROT_READ|PROT_WRITE     flags标注共享内存映射区的共享属性             MAP_SHARED 对共享内存所做的修改会反应到物理磁盘文件上。 IPC专用             MAP_PRIVATE对共享内存所做的修改不会反应到物理磁盘文件上。     fd: 用来创建共享内存映射区的那个文件的 文件描述符。     offset默认0表示映射文件全部偏移位置。必须是4k整数倍。 返回值     成功映射区的首地址。     失败MAP_FAILED (void *(-1)), errno - munmap  释放共享内存映射 int munmap(void *addr, size_t length); 参1mmap() 函数的返回值。 参2共享内存映射区大小 返回值     成功0     失败-1, errno mmap使用的注意事项 1. 用于创建映射区的文件的大小必须是非0。映射区的大小 文件大小。 2. 创建映射区需要read权限。指定访问权限为 MAP_SHARED mmap需要读写权限。 应该 文件打开权限。只写不行 3. 文件描述符fd 在mmap创建映射区完成可以立即关闭后续访问文件使用 内存地址。 4. offset 必须是 4096 的整数倍。MMU映射的最小单位 4k 5. 映射区访问的权限设为 MAP_PRIVATE 对内存做的所有修改都只在内存有效不反应的磁盘上。不能应用于 IPC mmap函数保险调用方式 1. fd open(“文件名”O_RDWR); 2. mmapNULL, 实际有效文件大小 PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0 ## mmap特性 - fifo、mmap 都可以应用于非血缘关系进程间通信。区别     - mmap数据可以重复读写。     - fifo数据只能一次性读写。 - 直接操作内存执行速度快 5.3匿名映射 - 只能应用于有血缘关系的进程间通信 p (int *)mmap(NULL, 400, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); - MAP_ANONYMOUS 、MAP_ANON 只在 Linux 系统中有效。 - /dev/null : 设备文件。黑洞文件。特性无限向该文件写数据。写入没 - /dev/zero: 设备文件。特性无限从该文件读取数据。读多少有多少。读到的都是“\0” - 类unix系统中没有 MAP_ANONYMOUS 、MAP_ANON 选项可以借助 /dev/zero 实现。 fd open(/dev/zero, O_RDWR);p mmap(NULL, size, PROT_READ|PROT_WRITE, MMAP_SHARED, fd, 0); 6.进程间通信 6.1父子进间通信 1. 父进程 先创建 映射区。 open(O_RDWR) mmapMAP_SHARED; 2. fork() 创建子进程。 3. 一个进程使用 映射区读另一个进程写。 6.2无血缘关系进程间通信 1. 两个进程打开同一个文件创建映射区。 2. 指定 flags 为 MAP_SHARED。 3. 一个进程使用 映射区读另一个进程写。
http://www.dnsts.com.cn/news/80266.html

相关文章:

  • 电子商务网站安全措施专业seo服务
  • 商务网站建设方案ppt网络推广运营是做什么
  • 重庆网站建设公司沈阳网站建设优秀公司
  • 网站建设百度首页东莞阳光网站投诉平台
  • 中国十大网站有哪些广州营销型网站优化
  • 有什么网站可以做平面兼职网站的建站方案
  • 网站建设需要注意哪些关键细节网站建设人员工作计划
  • 网站的中文域名是什么网站开发无使用期限怎么摊销
  • 姜堰网站建设在线免费高清logo
  • 在线视频播放网站开发thinkphp制作网站开发
  • 做的最好的相亲网站有哪些可口可乐搜索引擎营销案例
  • 拓展公司网站建设网页版qq登录入口手机版
  • 确定网站主题微信公众 wordpress
  • 彩票网站开发定制如何做好网站关键词布局
  • 百度索引量和网站排名山东助企网站建设
  • 安贞网站建设公司90设计网好吗
  • 山西住房与建设部网站吉安建站公司
  • 贵阳两学一做网站网站目录字典
  • 巨鹿做网站哪家好网站制作百度资源
  • 手机网站开发应注意网站建设亿金手指科杰
  • 订单网站模块岳阳网站开发
  • 网站首页的图片怎样做缓存wordpress小工具开发教程
  • 站长seo查询深圳哪家网站建设公司好
  • 实验中心网站建设dw网页制作教程简单
  • 苏州市住房城乡建设局网站django mysql网站开发
  • 网站被电脑管家拦截做301跳转平台设计方案
  • python做网站用插件做网站
  • 网站风格对比信息表网站建设方案预算
  • 网站建设提成方案石家庄网站建设今天改网名
  • 网站建设与管理方向WordPress代收插件