我正在使用Service Fabric,并且想创建一个选定进程的环境变量的观察者。
我考虑过这种方法:
var processes = Process.GetProcessesByName(processName);
foreach (var process in processes){
var environmentVariables = process.StartInfo.EnvironmentVariables;
foreach (DictionaryEntry envVar in environmentVariables){
// envVar.Key, enVar.Value ...
}
}
但是我不能使用StartInfo,因为此处未启动进程。是否还有其他方法可以检索流程的环境变量(键/值)(由GetProcessByName / ID检索)?
错误:
System.InvalidOperationException: Process was not started by this object, so requested information cannot be determined.
在发布的链接中,我找到了Oleksiy Gapotchenko的博客。他开发了一个现成的nuget包。
读取进程的环境变量。通过在操作系统级别读取进程环境块(PEB),可以实现该功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句