如果您使用单声道并使用 Process.ProcessName
,您可能会在某些计算机上得到错误的结果。
例如,您可能会得到“kdeinit4
”(在 SUSE 上看到)而不是进程名称“kwrite
”。
在 Ubuntu 上,我什至看到了像“kdeinit4;5535948c(已删除)
”而不是“kwrite
”这样的废话。
注意:在其他计算机上结果可能是正确的。
如果我使用 Process.MainModule.ModuleName
,它会重新运行相同的错误名称。
如果我使用 Process.MainModule.FileName
,它会给出错误的路径。除此之外,这些命令非常慢。
所以无论我尝试什么,它都充满了错误。 我能做什么?
最佳答案
解决方法可以用两行来完成:
String sProcFile = String.Format("/proc/{0}/comm", proc.Id);
String sProcName = File.ReadAllText(sProcFile).Trim();
在 ProcessName
失败的所有计算机上,它就像一个魅力。
关于c# - mono : Wrong Process. ProcessName 中错误的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29827331/