2011-10-05 20 views
0

我有一個Java程序充當網絡服務器。感謝實用程序update-rc.d我在Debian/Unix服務器上安裝了一項服務,以便在SSH會話期間始終保持運行狀態,而無需連接。Unix上的Custon服務與update-rc.d + LOG?

因爲我的計劃是在Java字節碼,而不是本地UNIX可執行文件,我已經使用了下面的教程,使之作爲一個守護進程運行:java as a daemon service

的問題是,我沒有看到的輸出該計劃了。我需要查看程序的輸出,因爲它會在發生異常時顯示堆棧跟蹤。如何將標準和錯誤輸出流重定向到日誌文件?

替代問題:如何運行java程序並在從SSH註銷時持續運行?

回答

1

你可以用應用程序啓動命令到一個shell腳本,並將輸出重定向有:

/usr/bin/java -jar app.jar >> /var/log/app/app.log 2>&1 

但我建議你使用一些日誌框架獲得對日誌文件的更多控制。像slf4jlogback或任何其他後端。

替代問題:如何運行java程序並使其即使在從SSH註銷時也能夠持續運行?

你可以用screen做到這一點:

screen java -jar app.jar ... 

,然後進行SSH登錄運行

screen -r 

恢復屏幕會話。