我目前正在运行一个用 C# 编写的服务器软件程序,并且我正在尝试
在 linux 上添加对这个 .net 软件的支持。在单声道下,几乎一切都按预期工作,但是,有些事情不起作用。例如,在成功关闭服务器软件后,另一个用 C# 编写的外部程序应该会立即弹出并从文本文件发送数据的心跳。在 .net 环境中,例如 Windows 7,这很简单
Process.Start("Heartbeat.exe");
就是这样。它弹出。
Annnnnnnnd,当服务器软件检测到主机操作系统正在运行单声道时,在服务器关闭功能时,我试图运行其他代码。上面的代码没有效果。我试过这个,但我可能不知道我在做什么。
ProcessStartInfo procInfo = new ProcessStartInfo();
procInfo.UseShellExecute = false;
procInfo.FileName = "Heartbeat.exe";
Process.Start(procInfo);
这也不起作用。我曾尝试运行 .sh 来运行带有单声道参数的 .exe,但效率非常低。非常感谢任何帮助和所有帮助。(在你们像大多数人一样喊我阅读 mono 和 ProcessStartInfo API 之前,我都阅读了它们,但我仍然一无所知。而且 mono API 很奇怪。)
编辑:
谢谢 Lex Li 的回答,但是在使用的时候
Process.Start("mono Heartbeat.exe")
我收到此错误:
Error when getting information for file '/home/me/Desktop/LCDev/mono Heartbeat.exe': No such file or directory
我假设上面的代码试图运行一个名为“mono Heartbeat.exe”的程序,而不是用单声道打开 Heartbeat.exe。