首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

进程通信(一)无名管道和有名管道

《王道考研复习指导》 管道通信是消息传递的一种特殊方式。所谓“管道”,是指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件,又名pipe文件。向管道(共享文件)提供输入的发送进程(即写进程),以字符流的形式将大量的数据送入(写)管道;而接受管道输出的接受进程(即读进程),则从管道接受(读)数据。为了协调双方的通信,管道机制必须提供一下三个方面的协调能力:互斥、同步和确定对方存在。 下面以linux的管道为例进行说明。在linux中,管道是一种频繁使用的通信机制。从本质上讲,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件通信的两个问题,具体表现为: 1)限制管道的大小。实际上,管道是一个固定大小的缓冲区。在Linux中,该缓冲区的大小为4KB,使得它不像文件那样不加检验的增长。使用单个固定缓冲区也会带来问题,比如在写管道时可能变满,当这种情况发生时,随后对写管道的write()调用将默认的阻塞,等待某些数据被读取,以便腾出足够的空间供write()调用写。 2)读进程也可能工作的比写进程快。当所有当前进程数据已被读走时,管道变空。当这种情况发生时,一个随后的read()调用将默认设置为阻塞,等待某些数据被写入,这解决了read()调用返回文件结束的问题。 注意 :从管道读数据是一次性操作,数据一旦被读走,它就从管道中被抛弃,释放空间以便写更多的数据。管道只能采用半双工通信,即在某一时刻只能单向传输。要实现父子进程双方互动,需要定义两个管道。

02
您找到你想要的搜索结果了吗?
是的
没有找到

使用命名管道通讯的命令执行工具

管道并不是什么新鲜事物,它是一项古老的技术,可以在很多操作系统(Unix、Linux、Windows 等)中找到,其本质是是用于进程间通信的共享内存区域,确切的的说应该是线程间的通信方法(IPC)。 顾名思义,管道是一个有两端的对象。一个进程向管道写入信息,而另外一个进程从管道读取信息。进程可以从这个对象的一个端口写数据,从另一个端口读数据。创建管道的进程称为管道服务器(Pipe Server),而连接到这个管道的进程称为管道客户端(Pipe Client)。 在 Windows 系统中,存在两种类型的管道: “匿名管道”(Anonymous pipes)和“命名管道”(Named pipes)。匿名管道是基于字符和半双工的(即单向);命名管道则强大的多,它是面向消息和全双工的,同时还允许网络通信,用于创建客户端/服务器系统。

06

基于SSM的医院门诊预约挂号系统的设计与实现(文末附源码、论文)

现在社会中计算机网络技术的高速发展以及提高,在各行各业中的使用也逐渐增多,互联网俨然已经成为了当今社会密不可缺的一部分。现在的城镇人口飞速增加,看病的人也越来越多,医院挂号窗口一般都是排成长龙一样,这样对一些时间比较赶的或者有事情要忙的人来说这无疑是个棘手的问题,所以为了减轻医院的挂号窗口的压力,能够在网上挂号看病。 这篇论文就是讲一个基于SSM框架的一个医院门诊预约挂号的设计与实现。这个系统使用layui作为前端的框架还有包括JQuery还有jsp技术等,后端是使用java语言来编写的后台程序以及使用MySQL数据库来管理数据,可以根据权限功能的不同,主要有管理员、医生、患者、收费人员是系统的4种用户。系统主要实现完成了登录注册管理、挂号管理、处方管理、预约管理、公告管理等功能。 整个系统的结构清晰,功能明确,界面简洁。患者能够通过本系统去预约挂号,查看医生所开处方等。管理员能够通过本系统模块去对患者以及医生进行日常管理。

01

巨龙拉冬: 让你的Cobalt Strike变成超级武器

Cobalt Strike巨龙拉冬插件9.0发布,让大家久等了,就当是程序员节礼物。原计划是Ladon8.0的时候出的,当时也实现了部份功能,但因为放在虚拟机里,可能误删了没备份,也因为各种事懒得重写,拖着拖着Ladon已出到9.0了,也想国庆写,但国庆又想上王者,于是又拖到最近两天才重写插件,CS右键已实现90%的功能部分功能请先在Beacon命令行使用。巨龙拉冬中文插件和Ladon英文插件的区别是右键菜单功能更全,英文的菜单让很多不熟的人,误以为Ladon并没让CS加强多少功能,而有些知道Ladon功能多的人,也误以为Ladon有很多乱七八槽的功能,最主要是文档不看,问我有没什么功能?如他想查询内网C段存在哪些WEB资产(网站、标题、Banner)等信息,问有没什么工具可以收集啊,然后他gitub找了一圈,哎呀这个工具是PYTHON的这个是GO的体积太大了,就一个功能还需要上传过去,不方便啊,最后来一句Ladon能不能加这个功能,我说兄弟能看看Ladon的文档吗?一个WebScan或WhatCMS搞定,用法和你们扫MS17010或OnlinePC一样简单但功能又强大,功能无论是博客文档还是GUI版上的WIKI都可以查看,问我有没有。现在功能又集成到CS插件右键上而且是中文的,希望下次不要再问我类似问题了,你们可以看到从右键菜单看Ladon功能更直观,觉得不乱了,你会发现那些功能都是实战要用的。因为有时候做不同的项目,有些模块可能用不到,时间久了我自己也忘记有这功能,然后去网上找,找着找着发现这功能我几年前写过,或Ladon里有,差点又重复造自己的轮子,所以觉得此中文版除了照顾大部分人,对于我可能也是需要的。总之一句话“Ladon在手,天下我有”,让你的它"Cobalt Strike"变成超级武器吧!不管你信不信,我反正信了。

03
领券