如何在Linux上用C#启动服务

时间:2014-04-07 17:04:22

标签: c# linux mono

我想通过Mono使用C#控制台应用程序在我的Linux服务器上启动服务。

public static void StartService(string serviceName, int timeoutMilliseconds)
{
  ServiceController service = new ServiceController(serviceName);
  try
  {
    TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

    service.Start();
    service.WaitForStatus(ServiceControllerStatus.Running, timeout);
  }
  catch
  {
    // ...
  }
}

这会有用吗?

作为替代方案,有没有办法通过C#向Linux发送命令,就像你可以在Windows系统上发送命令一样?

我正在尝试使用C#Executable启动Linux服务。

1 个答案:

答案 0 :(得分:2)

您可以通过执行此操作来执行命令;

Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "/bin/bash";
proc.StartInfo.Arguments = "-c 'your command here'";
proc.StartInfo.UseShellExecute = false; 
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();