2
我正在運行一個c#應用程序,我需要知道Apache Tomcat是否正在運行,並且也知道它的端口。如何知道我的Windows機器上是否運行tomcat(及其端口號)?
Tomcat安裝有多種方式。在某些安裝中,我在服務列表中獲得服務,而在某些情況下我沒有。
有人可以幫我嗎?
我正在運行一個c#應用程序,我需要知道Apache Tomcat是否正在運行,並且也知道它的端口。如何知道我的Windows機器上是否運行tomcat(及其端口號)?
Tomcat安裝有多種方式。在某些安裝中,我在服務列表中獲得服務,而在某些情況下我沒有。
有人可以幫我嗎?
你可以使用類似System.Diagnostics的Process.GetProcesses;
Process[] processlist = Process.GetProcesses();
並檢查該列表中的相關進程名稱。否則看看一些答案of the related links找到一個特定的進程名稱(即Tomcat)。
對於查找端口,這可能會有點難以編程。您可能必須解析Tomcat的配置文件$ CATALINA_HOME/conf/server.xml才能找到正在使用的端口。你會在尋找類似的東西;
<Connector port="{portNumber is here}"...
查看關於配置文件的Tomcat文檔。
進程名稱不是「Tomcat」,但它是「Java」,屬性「MainWindowName」是「Tomcat」。我正在使用獲取服務和進程的組合來知道Tomcat是否在運行,並從配置文件中讀取端口。但我想在不閱讀配置的情況下執行此操作。 – Kangkan 2012-02-10 08:25:50
您可以使用PortReporter - http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=9964作爲掃描配置文件的替代方法。 – 2012-02-10 23:22:04