2012-11-05 61 views
0

我必須構建Javadaemon過程,一旦啓動,將始終在Linux,WindowsMac中工作(並收聽開放式套接字)。Java守護進程最好的跨平臺解決方案?

我在網上看到了一些解決方案,但沒有找到任何一致和廣泛使用的解決方案。開發人員使用這些任務是什麼?

+1

這是[購物問題](http://blog.stackoverflow.com/2010/11/qa-is-hard-lets-go-shopping/),因此不適合所以。 –

+0

可能的重複:http://stackoverflow.com/questions/534648/how-to-daemonize-a-java-program(也鏈接到至少一個跨平臺解決方案) –

+0

可能的重複:http://stackoverflow.com/問題/ 326509/java-background-daemon-service-cross-platform-b​​est-pratices – CKmum

回答

2

最簡單的方法是創建批處理文件(win)/ shell腳本(linux)並在inittab(linux)或Windows啓動時調用它。這讓生活變得更輕鬆。在該批處理/ shell文件,只需調用帶參數

從系統

java background/daemon/service cross platform best practices

+1

您通常需要考慮一些更多細節,以便將Java應用程序作爲真正的後臺進程/守護進程運行。 Windows啓動文件夾不適合作爲守護進程運行進程。 –

+0

一致認爲Windows啓動文件夾可能不是最好的,但啓動可以放在註冊表或任務中。另外作爲守護進程運行的是「start 」(http://zeroflag.wordpress.com/2007/05/12/start-command/)。如果你真的需要更大的解決方案,周圍有一些(儘管不記得名字)。 – CKmum

0

使用javaw進程的Java二進制C程序的窗口中執行命令使Windows中的「最好的」守護進程。然後讓c程序在啓動時加載到註冊表中,或者將它放在啓動文件夾中,但這可以由您的客戶輕鬆編輯,而這可能不是所希望的。

否則,命令提示符窗口將不斷打擾您/您的客戶端。

對於Linux的& MAC等等...這很容易,只需裝入java命令到init.d中

不知道是不是我寧願Java作爲一個守護進程雖然....這是一個有點笨重與ac deamon相比。

相關問題