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

无版权图片做网站奶茶店推广软文500字

无版权图片做网站,奶茶店推广软文500字,有哪些做搞笑视频的网站,网络推广方式和方法进程间通信 1.进程间通信介绍2.匿名命名管道原理操作 1.进程间通信介绍 1.1 进程间通信目的:一个进程需要将他的数据发送给另一个进程,大家应该都多少接触过linux中的管道符"|",这个符号就是用来多个命令执行,在Linux中…

进程间通信

    • 1.进程间通信介绍
    • 2.匿名命名管道原理操作

1.进程间通信介绍

1.1 进程间通信目的:一个进程需要将他的数据发送给另一个进程,大家应该都多少接触过linux中的管道符"|",这个符号就是用来多个命令执行,在Linux中每一个命令都是一个独立的进程,这里我们可以在Linux中看到这些命令,都是一个个的可执行程序,每次输入时相当于一个可执行程序开始跑。
在这里插入图片描述
我们这里切换到ls这个命令的目录下,在ubuntu系统下我们看到了熟悉的apt安装命令,还有很多比较冷门的命令,我们学习阶段接触的比较少,但是我们可以发现这都是一些可执行程序。
这里我们还可以使用ldd命令查一下,这些命令都是用什么写的:
在这里插入图片描述
使用ldd命令可以查看这个可执行程序使用的依赖哪些库产生,这里明显的看出是依赖的c语言的动态库编写的。
所以这里我们需要理解,每一个命令都是一个可执行程序。
在这里插入图片描述

2.匿名命名管道原理操作

讲到原理,那么为什么可以使用管道符"|"一起执行两个可执行程序呢,这里就是通信的力量啦。
那么什么是通信呢?
在这里插入图片描述
这里两个进程就可以指向同一块空间,这样我们就具备了最基本的沟通能力。
有了沟通的能力我们就可以想办法让他们可以传递信息。
这里我们要介绍一个接口pipe。

//此处以C++举例
#include<unistd.h>
int pipe(int fd[2]);

pipe函数定义中的fd参数是一个大小为2的一个数组类型的指针。该函数成功时返回0,并将一对打开的文件描述符值填入fd参数指向的数组。失败时返回 -1并设置errno。
在这里插入图片描述
下面是一段验证原理的代码,使用c++编写,最后实现了管道的单向通信:

#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <cstdio>
#include <cstring>
using namespace std;void write_pipe(int wfd)
{char buffer[1024];int cnt = 0;while (true){snprintf(buffer, sizeof(buffer), "I am god! 我的pid:%d, cnt=%d", getpid(), cnt++);ssize_t ret = write(wfd, buffer, strlen(buffer));if (ret < 0){perror("write");break;}sleep(1);}
}void read_pipe(int rfd)
{char buffer[1024];while (true){ssize_t n = read(rfd, buffer, sizeof(buffer) - 1);if (n > 0){buffer[n] = '\0';cout << "child say: " << buffer << endl;}else if (n == 0){cout << "pipe closed" << endl;break;}else{perror("read");break;}}
}int main()
{int fds[2] = {0};if (pipe(fds) < 0){perror("pipe");return 1;}pid_t id = fork();if (id < 0){perror("fork");return 1;}if (id == 0){                  // 子进程close(fds[0]); // 关闭读端write_pipe(fds[1]);close(fds[1]);exit(0);}else{                  // 父进程close(fds[1]); // 关闭写端read_pipe(fds[0]);close(fds[0]);waitpid(id, nullptr, 0);}return 0;
}

在这里插入图片描述
这里我们写了一个shell脚本用来观察我们写的程序,发现是可以进行读写。

http://www.dtcms.com/wzjs/60250.html

相关文章:

  • nodejsweb网站开发查图百度识图
  • php怎么做直播网站吗正规网站优化哪个公司好
  • 做影视网站风险大吗网站关键词查询
  • 网站设计云匠网网络营销的步骤
  • 学校网站建设要求aso安卓优化
  • 做网站建设有哪些公司好排名优化网站建设
  • 给企业做网站推广好么软文推广例子
  • 定制v软件超级优化
  • 南昌做网站优化价格网络推广公司服务内容
  • 濮阳建站推广哪家好windows优化大师会员兑换码
  • 可以做公司网站长沙百度贴吧
  • wordpress 虚拟商品插件优化大师免费安装下载
  • 华人免费看黄网站seo排名优化怎么样
  • 一个好的网站怎么建设南宁哪里有seo推广厂家
  • 网站建设前的前景小说网站排名免费
  • 网站设计 广州网站搜索引擎优化情况怎么写
  • 日照外贸网站建设宁波seo教程
  • 文章类型的网站模版sem搜索引擎营销
  • 网站网页设计代码开个网站平台要多少钱
  • 厦门做网站优化公司百度合伙人官网app
  • 边个网站可以接模具做成都正规搜索引擎优化
  • 珠海建设工程监督站网站百度的网页地址
  • 重庆龙头寺找做墩子师傅网站微信小程序怎么做
  • 网站设计背景怎么写网络营销专家
  • 怎么选择合肥网站建设站长工具seo综合查询收费吗
  • 网站设计过程介绍东莞企业推广网站制作
  • ip查询网站企业培训内容有哪些
  • 模板网站建设哪家好青岛seo排名扣费
  • 做网站尽在美橙互联seo优化按天扣费
  • 网站建设必须要备案吗seo排名教程