【发布时间】:2012-07-21 04:21:14
【问题描述】:
我编写了一个作为守护进程启动的 Java 应用程序(我守护进程重定向 stderr 和 stdout 并通过 bash 关闭 stdin)。但是,有时我希望能够向此应用程序发送消息并通知它更改其行为的某些部分。我需要能够从终端向应用程序发送消息,所以任何需要图形实用程序的东西都是不行的。
行为的改变相当简单。我需要在我的应用程序中切换一个线程的状态,以及一种优雅地关闭应用程序的方法。
我有哪些选择来实现这一目标?我知道我可以在进程中有一个线程来侦听某种套接字上的消息,但这对于我的需求来说似乎有点过头了。
我对 Linux/Unix 上的信号不太熟悉,所以我想问一下我是否可以简单地为某些信号设置自定义处理程序,并在进程收到信号时让我的代码执行。
还有其他我不知道或没有想过的选择吗?
【问题讨论】: