在java中,我需要创建一个unix守护进程。所以我需要创建套接字然后fork,以便systemd知道服务实际上已准备就绪。
在C中,通常这样做:
$(document).on("shown.bs.dropdown", ".dropdown", function () {
$(this).children(".dropdown-menu").css("height",screen.height);
})
因此,当进程终止时,systemd(或upstart或sysvinit)知道守护进程已准备好接受连接,并且现在可以启动依赖于它的守护进程。
我的问题是:如何在java中执行此操作?
我搜索了一下,发现了许多关于使用int main() {
initialise_socket();
daemon(0,0);
}
启动java的错误建议,这绝不是我需要做的事情。
答案 0 :(得分:1)
纯Java应用程序(不使用JNI =本机C代码)无法守护自身 - JDK中没有相应的方法。你可以做的是使用deamonizing实用程序运行java
进程(运行你的应用程序的VM),如start-stop-daemon
答案 1 :(得分:-1)
我已经使用Apache模块commons守护进程在Unix上实现守护进程。
https://wiki.apache.org/commons/Daemon
它没有在C中编写守护进程那么灵活,但最终还是足够了。
用法非常简单。你只需要实现一个启动和停止方法。