在java中,我需要製作一個unix守護進程。所以我需要創建套接字然後fork,以便systemd知道服務已經準備就緒。在java中製作unix守護進程
在C,這是正常完成這樣的:
int main() {
initialise_socket();
daemon(0,0);
}
這樣當進程終止時,systemd(或暴發戶,或者sysvinit的)知道守護進程是準備接受連接,並依賴守護進程現在可以開始了。
我的問題是:我怎麼能在java中做到這一點?
我用google搜索了一下,發現很多關於使用nohup
開始java的錯誤建議,這些都不是我需要做的事情。
可能的重複[如何守護Java程序?](https://stackoverflow.com/questions/534648/how-to-daemonize-a-java-program) –
@AdamMichalik它與此無關題。這是關於脫離shell的問題,我已經提到它與我所需要的不相關。 – LtWorf
似乎有人刪除了我的答案;)無論如何,爲了記錄。你可以在這裏找到解決方案:http://jnicookbook.owsiak.org/recipe-No-022/和這裏http://jnicookbook.owsiak.org/recipe-no-029/ – mko