隐秘通道

匿名管道是计算机进程间的一种单工先进先出通信机制。全双工通信通常需要两个匿名管道。 典型场景为父进程创建匿名管道,然后创建一批子进程继承了这个匿名管道。由于这是未命名的管...

匿名管道是计算机进程间的一种单工先进先出通信机制。全双工通信通常需要两个匿名管道。

典型场景为父进程创建匿名管道,然后创建一批子进程继承了这个匿名管道。由于这是未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。匿名管道并不支持异步读、写操作。

Unix

管道 (Unix)是类Unix系统上使用极其广泛的进程间传统通信机制。使用 系统调用创建新的管道并返回一对文件描述符指向管道的读终端与写终端。

Windows操作系统

使用创建匿名管道。使用与函数来读写管道。读写操作总是阻塞式。新建进程可继承管道句柄。

读管道时收到一个end-of-file,意味着管道的写端句柄已经关闭。

例子

// 父进程 #include <windows.h> int main() { STARTUPINFO si; PROCESS_INFORMATION pi; char ReadBuf[100]; DWORD ReadNum; HANDLE hRead; // 管道读句柄 HANDLE hWrite; // 管道写句柄 BOOL bRet = CreatePipe(&hRead, &hWrite, NULL, 0); // 创建匿名管道 if (bRet == TRUE) printf("成功创建匿名管道! "); else printf("创建匿名管道失败,错误代码:%d ", GetLastError()); HANDLE hTemp = GetStdHandle(STD_OUTPUT_HANDLE);// 得到本进程的当前标准输出 SetStdHandle(STD_OUTPUT_HANDLE, hWrite);// 设置标准输出到匿名管道 GetStartupInfo(&si); // 获取本进程的STARTUPINFO结构信息 bRet = CreateProcess( // 创建子进程 NULL, // No module name (use command line) (LPSTR)(LPCSTR)"Client.exe", // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE, // Set handle inheritance to FALSE 0, // No creation flags NULL, // Use parent's environment block NULL, // Use parent's starting directory &si, // Pointer to STARTUPINFO structure &pi ) // Pointer to PROCESS_INFORMATION structure if (bRet == TRUE) printf("成功创建子进程! "); else printf("创建子进程失败,错误代码:%d ", GetLastError()); SetStdHandle(STD_OUTPUT_HANDLE, hTemp); // 恢复本进程的标准输出 CloseHandle(hWrite); // 关闭写句柄 while (ReadFile(hRead, ReadBuf, 100, &ReadNum, NULL))// 读管道直至管道关闭 { ReadBuf[ReadNum] = '0'; printf("从管道[%s]读取%d字节数据 ", ReadBuf, ReadNum); } if (GetLastError() == ERROR_BROKEN_PIPE) // 输出信息 printf("管道被子进程关闭 "); else printf("读数据错误,错误代码:%d ", GetLastError()); return 0; }

//子进程的标准输出实际上已经重定向到匿名管道写端 #include <stdio.h> int main(int argc, char* argv[]) { for (int i = 0; i < 100; i++) // 发送一些数据到标准输出和标准错误 { printf("i = %d ", i); // 打印提示 cout << "标准输出:" << i << endl; // 打印到标准输出 cerr << "标准错误:" << i << endl; // 打印到标准错误 } return 0; }

参见

  • 命名管道
  • 匿名命名管道
  • 管道 (Unix)

本文来自作者[寻香]投稿,不代表rczir号立场,如若转载,请注明出处:https://m.rczir.cn/wiki/202507-102.html

(7)

文章推荐

  • 独家|战场地区民调揭示特朗普胜利之路的挑战:低投票率困扰共和党

      尽管由于党派分配,今年秋季大部分国会席位不会有竞争,但仍有一些席位被视为关键战场。这些选区主要分布在亚利桑那州、加利福尼亚州、科罗拉多州、康涅狄格州、佛罗里达州、爱荷华州、内布拉斯加州、纽约州、俄亥俄州、俄勒冈州、宾夕法尼亚州、罗德岛州、弗吉尼亚州和华盛顿

    2025年07月07日
    8
  • 澳大利亚研究团队揭示暗光子存在的新证据

    “暗物质是现代物理学和天文学面临的最大挑战之一,”澳大利亚最受尊敬的暗物质专家之一、阿德莱德大学物理学教授安东尼·托马斯教授说,他与这里和美国的同事们一起,刚刚给了我们一个潜在的洞察一个看不见的世界的机会。他们的重点是“暗”光子,一种携带力的粒子,它可能是可见

    2025年07月09日
    7
  • 玛玛塔·班纳吉(Mamata Banerjee)因“孟加拉语”荣获经典地位而喜悦不已

      加尔各答,10月3日(IANS):周四晚上,西孟加拉邦首席部长玛玛塔·班纳吉对孟加拉语被联邦政府授予经典语言地位表示高兴。“我很高兴地告诉大家,印度政府终于给予孟加拉语/孟加拉语古典语言的地位。我们一直试图从印度政府文化部获得这一认可,我们提交了三卷研究结果

    2025年07月10日
    7
  • 今日部分省份的加拿大居民将收到碳定价补贴

    居住在征收联邦碳价的省份的加拿大人有望在今天获得今年的第一笔气候行动激励回扣。联邦政府表示,居住在阿尔伯塔省、马尼托巴省、新不伦瑞克省、安大略省和萨斯喀彻温省等省份的人,如果已经提交了所得税和福利申报表,将通过直接银行存款或支票获得退税。渥太华方面表

    2025年07月22日
    7
  • 日本发膜:让你的秀发柔顺光滑,散发迷人香气,被誉为护发界的“终极神器”

      一款日本发膜在亚马逊上越来越受欢迎,目前售价为13.30英镑。你还可以在StyleVana上以11.39英镑的价格买到资生堂日本Fino高级护发面膜,在eBay上以92.30英镑(每个18.46英镑)的价格买到五包。这款发膜使用人参和六种精油来护理头发。它是专为受损、卷曲的头发设计的

    2025年07月29日
    7
  • 思维表达,情感共鸣

      以色列理工学院的研究发现,激活大脑的奖励系统有助于心脏病发作后的恢复。这项研究由博士生HedvaHaykin在AsyaRolls教授和LiorGepstein教授的指导下,在鲁斯和布鲁斯拉帕波特医学院进行。研究小组专注于奖励系统,这是一个在积极情绪和动机

    2025年08月02日
    7
  • 乔·柯伊在金球奖独白引发强烈反响,直指好莱坞明星

    喜剧演员乔·科伊在金球奖上的首场单口喜剧表演中抨击了好莱坞明星,此前他在颁奖典礼上的开场独白表现平平。据《综艺》和《第六页》报道,这位《复活节星期日》的明星上周五在密苏里州的舞台上称观众是“很多棉花糖”。“它们很好吃,但是太软了。我只是来自不同的时代。我

    2025年08月11日
    7
  • 克里登斯清水集团向洛克·格里菲斯致敬

    准备好摇滚格里菲斯地区剧院邀请您与Creedence清水集体表演一个纯粹的音乐怀旧之夜!9月19日星期四,请与我们一起度过一个难忘的夜晚,庆祝CreedenceClearwaterRevival的永恒音乐和传奇人物JohnFogerty。这不仅仅是一场音乐会——

    2025年08月15日
    7
  • 分享实测“微信雀神麻将小程序开挂方法”其实真的有挂

    您好:微信雀神麻将小程序开挂方法“这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加

    2025年08月16日
    7
  • 分析必看“手机十三水可以开挂吗”实际有挂

    手机十三水可以开挂吗这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的通过添加客服微:本司针对手游进行匹配,选择我们的

    2025年08月17日
    2

发表回复

本站作者后才能评论

评论列表(4条)

  • 寻香
    寻香 2025年07月08日

    我是rczir号的签约作者“寻香”!

  • 寻香
    寻香 2025年07月08日

    希望本篇文章《隐秘通道》能对你有所帮助!

  • 寻香
    寻香 2025年07月08日

    本站[rczir号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 寻香
    寻香 2025年07月08日

    本文概览:匿名管道是计算机进程间的一种单工先进先出通信机制。全双工通信通常需要两个匿名管道。 典型场景为父进程创建匿名管道,然后创建一批子进程继承了这个匿名管道。由于这是未命名的管...

    联系我们

    邮件:rczir号@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们