IPC
文章平均质量分 61
xiaochuan_fang
嵌入式小白
展开
-
进程间通信(IPC)------- 共享内存
运行注意事项:(1)因为两个程序需要一起跑,所以最好开两个终端,并且最好起别名 开终端快捷键 Ctrl+Shift+N 编译时起别名:例如 :gcc shmwrite.c -o shmwrite -o表示编译shmwrite.c时给生成的文件命名为shmwrite例如 :gcc shmread.c -o shmread(2)因为接收端未做共享内存的开辟,所以要先跑发送端......原创 2022-08-28 18:15:58 · 423 阅读 · 0 评论 -
进程间通信(IPC)--------消息队列
msg_ptr是一个指向准备发送消息的指针,但是消息的数据结构却有一定的要求,指针msg_ptr所指向的消息结构一定要是以一个长整型成员变量开始的结构体,接收函数将用这个成员来确定消息的类型。调用成功时,该函数返回放到接收缓存区中的字节数,消息被复制到由msg_ptr指向的用户分配的缓存区中,然后删除消息队列中的对应消息。msg_sz是msg_ptr指向的消息的长度,注意是消息的长度,而不是整个结构体的长度,也就是说msg_sz是不包括长整型消息类型成员变量的长度。原创 2022-09-06 07:21:41 · 571 阅读 · 0 评论 -
进程间通信(IPC)------- 命名管道
在已经建立的命名管道实例中,客户端进程就会得到一个指向该管道实例的句柄。这个句柄称之为客户端句柄。4):在已经建立连接的命名管道实例中,服务器进程就会得到一个指向该管道实例的句柄,这个句柄称之为服务器端句柄,同时服务端进程可以调用DisconnectNamedPipe函数,将一个管道实例与当前建立连接的客户端进程断开,从而可以重新连接到新的客户端进程。命名管道的通信是以连接的方式进行的,服务器创建一个命名管道对象,然后在此对象上等待连接请求,一旦客户连接过来,则两者都可以通过命名管道读或者写数据。原创 2022-09-05 19:02:34 · 828 阅读 · 0 评论 -
进程间通信(IPC)--------- 管道
1、管道是一个进程连接数据流到另一个进程的通道,它通常把一个进程的输出通过管道连接到另一个进程的输入,如要列出当前文件下所有命名中有"test"的文件:ls -l | grep test。其中"|"就代表我们在使用管道,它会把"ls -l"的查询结果通过管道,发送给grep,然后执行"grep test"命令后把结构输出到终端。(1)只能用于具有亲缘关系的进程,父子进程、兄弟进程之间(进程描述符在父进程中创建,子进程能够继承,多个子进程均继承后可以互相通信)(5)基于队列实现,有大小限制。原创 2022-09-03 12:27:52 · 270 阅读 · 0 评论