2014-04-07 47 views
0

我想通過Mono使用C#控制檯應用程序在我的Linux服務器上啓動服務。如何在Linux上的C#中啓動服務

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#可執行文件啓動Linux服務。

+2

http://mattdeboard.net/2012/10/19/how-to-run-windows-service-as-linux-daemon/和http://linux.die.net/man/1 /單服務 –

+0

[在Linux上使用單服務來包裝Windows服務]可能的重複(http://stackoverflow.com/questions/351971/using-mono-service-to-wrap-a-windows-service-在Linux的) –

回答

1

您可以通過執行此操作來執行命令;

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(); 
相關問題