运行一个 C# 程序以单声道格式启动另一个 C# 程序

本文关键字:程序 格式 声道 启动 另一个 一个 运行 单声道 | 更新日期: 2023-09-27 18:31:16

我目前正在运行一个用 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,但它效率非常低。任何帮助和所有帮助都非常感谢。(在你们像大多数人一样对我大喊大叫阅读单声道和 ProcessStartInfo API 之前,我都读了它们,但我仍然一无所知。单声道 API 也很奇怪。

编辑:

谢谢李炳强的回答,但是在使用时

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"的程序,而不是用 mono 打开 Heartbeat.exe。

运行一个 C# 程序以单声道格式启动另一个 C# 程序

C# 应用程序必须在 Linux 上使用 mono 启动,因此您应该使用

Process.Start("mono", "full_path_of_your_exe");