我想通过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服务。
答案 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();