首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >进程间通信:命名管道或状态文件

进程间通信:命名管道或状态文件
EN

Stack Overflow用户
提问于 2011-08-19 02:09:26
回答 3查看 299关注 0票数 0

我正在构建一个由Webservice组成的工具,它将在特定时间运行命令行工具。平均会有15-20个CL工具同时运行。每个CL工具平均运行时间不超过0.5-1分钟。webservice需要能够每2-3秒左右检查一次每个CL的状态。

我有一些关于如何做到这一点的建议;命名管道看起来是最好的“技术”解决方案。然而,我想知道与简单的非常小的文本“状态”文件通信是否会是一种更好的、更简单的、错误风险更小的方式。我更喜欢对资源最友好的解决方案。

敬请指教。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-23 13:37:49

命名管道会更好。当两个进程尝试一次访问这个小文本文件时,您可能会遇到访问问题。

票数 0
EN

Stack Overflow用户

发布于 2011-08-19 02:24:37

我以前做过类似的事情,下面是我所做的。

我通过将ProcessStartInfo.RedirectStandardOutput设置为true来启动命令行进程。然后,通过执行以下操作开始监听命令行进程的输出:

代码语言:javascript
运行
复制
process.OutputDataReceived += dataReceivedEventHandler;
process.BeginOutputReadLine();

然后,在我的dataReceivedEventHandler中,我解析DataReceivedEventArgs.Data以查看控制台应用程序是否向我发送了以我创建的标记(例如:"ServerProgress10")开头的“消息”。

因此,基本上,应用程序通过控制台输出进行通信。不是很优雅,但它为我做了这件事。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2011-08-19 02:25:38

对于你的情况,状态检查--这不是很大的占用空间,我随时都会使用命名管道。在这里使用使用硬盘的内存>>。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7112027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档