隐秘通道

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

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

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

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)

本文来自作者[翎珊]投稿,不代表ZA号立场,如若转载,请注明出处:https://wap.zamiy.cn/zskp/202507-1421.html

(2)

文章推荐

  • 被评为英国最佳退休城市的低生活成本和可负担城市

    退休是一个重要的里程碑,让你有机会享受放松的生活方式,度过你的黄金岁月。无论你是在寻找一个宁静的沿海小镇,还是一个历史名城的文化喧嚣,选择一个理想的地方度过你的退休生活可能是困难的。为了帮助那些正在寻找一个完美的地方享受一个充实和舒适的环境的人,Moneypenny透露了英国最好的退休地点。

    2025年07月07日
    2
  • 非法烟草与电子烟销售商被发出警告

    出售非法烟草和电子烟的烟草商受到了警告,新的立法正在酝酿中,将关闭他们,并对他们处以巨额罚款。所有文章都来自我们的网站和应用程序让直接到你的收件箱互动填字游戏,数独和琐事的所有文章从其他在你的地区南澳大利亚政府正在立法,赋予消费者和商业事务

    2025年07月14日
    2
  • 会议纪要揭示韩国央行在房地产市场繁荣背景下对降息时机的不同看法

    路透首尔7月7日电---韩国货币政策委员会周二公布的会议纪要显示,七名委员中多数人担心借贷成本下降会导致房地产市场价格上涨,因此在何时降息问题上存在分歧。韩国银行在当天的会议上表示:“连续12次将基准利率维持在15年以来的最高水平3.50%不变,现在是准备转向

    2025年07月17日
    3
  • 鲍里斯·约翰逊对顶尖科学家提出的“外出就餐帮助”感到“困惑”

    鲍里斯·约翰逊表示,“外出就餐帮助”计划当时并未被视为一场“赌博”,他对顶级科学家不知道该计划的说法感到“困惑”。英国政府的主要科学家,以及前卫生大臣马特·汉考克(MattHancock)声称,他们在担任财政大臣时,并没有事先被告知里希·苏纳克(RishiS

    2025年07月21日
    2
  • 詹妮弗·安妮斯顿为何对本·阿弗莱克情有独钟?

    据报道,詹妮弗·安妮斯顿想和本·阿弗莱克不仅仅是朋友。据《InTouchWeekly》报道,随着詹妮弗·洛佩兹和本·阿弗莱克长达两年的婚姻宣告结束,新的追求者盯上了这位《超胆侠》女星。在解释詹妮弗·安妮斯顿的动机背后的原因时,一位知情人士告诉媒体

    2025年07月21日
    1
  • 乡村日记:秋季的苦难,布满伤痕、水泡与病变

    在农村,中秋无疑是物产最丰富的季节。榛子、海棠花和野牡丹在树篱中成熟,而作家的笔则毫不费力地流露出对薄雾的沉思和醇厚的果实。虽然今天早上,桤木树旁的灌木丛上闪烁着玫瑰果的光泽,经过几天的雨水后,黑莓仍然饱满而甜美,但我来这里是为了探索生活的阴暗面,探索它所有的赘生物和污点——一个充

    2025年07月24日
    2
  • 莎拉·奥尔登:在威尼斯运河附近遭受暴力后停止生命维持

      洛杉矶——上个月在威尼斯运河散步时遭到袭击的两名妇女中的一名于周五晚上被拔掉了生命维持系统。53岁的莎拉·奥尔登的朋友形容她是一位慈爱的母亲。4月6日,奥尔登从马萨诸塞州前往威尼斯时遭到暴力袭击。据一位密友透露,奥尔登正准备在威尼斯租一处房产,准备明年住。“她风趣、外向、机智,

    2025年07月28日
    2
  • 职场与生活:我们致力于为男女提供盆腔健康门诊服务

      5.30点我的丈夫Ruairí在遛狗谢尔比的时候,我在帮我们14个月大的女儿奈亚准备托儿服务。45分钟后我们就都出门了。我从拉斯明到菲布斯伯勒的通勤距离很短,我把车停在那里。步行十分钟就能到埃克尔斯街的马特私立学校。早上7

    2025年08月01日
    3
  • 摩加迪沙海滩遭青年党袭击,造成37人遇难

    索马里官员周六表示,一名青年党自杀式炸弹袭击者和枪手袭击了首都摩加迪沙一个繁忙的海滩,造成37人死亡,多人受伤。这是这个东非国家最近发生的最致命的袭击之一。17年来,与基地组织有关联的圣战分子一直在对国际支持的联邦政府发动叛乱。他们之前的目标是丽都海滩地

    2025年08月10日
    3
  • 终于找到“微信雀神麻将有没有挂 谁知道”其实是有挂

    微信雀神麻将有没有挂谁知道是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机打牌可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机打牌系统规律,只需要输入自己想要的开挂功能,一键便可

    2025年08月10日
    4

发表回复

本站作者后才能评论

评论列表(4条)

  • 翎珊
    翎珊 2025年07月29日

    我是ZA号的签约作者“翎珊”!

  • 翎珊
    翎珊 2025年07月29日

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

  • 翎珊
    翎珊 2025年07月29日

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

  • 翎珊
    翎珊 2025年07月29日

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

    联系我们

    邮件:ZA号@sina.com

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

    关注我们