C# 从正在运行的进程获取信息

C# 从正在运行的进程获取信息,c#,C#,我有两个控制台应用程序,A和B。 我想运行A并在其上附加一个变量、标志或其他可以从B读取的内容 当我启动B时,这个过程按名称搜索A。如果A正在运行,我想从中获取一些信息,现在一个简单的布尔值就足够了 我发现 ManagementObjectSearcher,以便从命令行参数中获取值,这样就可以了 获取环境变量似乎很冗长 还有其他解决方案吗?是在同一台机器上进行IPC(进程间通信)的最快方法之一 如果您真的需要某种进程间通信,看起来像是WCF的一个场景,但对于您的需求来说可能有点重。您可以将变

我有两个控制台应用程序,A和B。 我想运行A并在其上附加一个变量、标志或其他可以从B读取的内容

当我启动B时,这个过程按名称搜索A。如果A正在运行,我想从中获取一些信息,现在一个简单的布尔值就足够了

我发现

  • ManagementObjectSearcher,以便从命令行参数中获取值,这样就可以了
  • 获取环境变量似乎很冗长

还有其他解决方案吗?

是在同一台机器上进行IPC(进程间通信)的最快方法之一

如果您真的需要某种进程间通信,看起来像是WCF的一个场景,但对于您的需求来说可能有点重。您可以将变量存储在文件系统或数据库中吗?另外,您可以从A开始B,并将变量作为命令行参数提供。最简单的方法是命名互斥体,使用OpenExisting()查看它是否存在。给你一个正确/错误的结果。这很少是它结束的地方,在.NET中有很多其他的进程互操作选择。例如命名管道、套接字、远程处理或WCF。我将尝试使用互斥来获取运行的单个实例。我将保持a侦听,B将检查它