我正在尝试监视已经在运行的 java 进程。
以下是我的上帝配置(test.god):
God.watch do |w|
w.name = "Test"
w.start = "java Test"
w.keepalive
我使用以下命令启动了上帝监控:
god -c test.god
以下是日志:
INFO: Loading test.god
INFO: Syslog enabled.
INFO: Using pid file directory: /home/guest/.god/pids
INFO: Started on drbunix:///tmp/god.17165.sock
INFO: Test move 'unmonitored' to 'up'
INFO: Test moved 'unmonitored' to 'up'
INFO: Test [trigger] process is not running (ProcessRunning)
INFO: Test move 'up' to 'start'
INFO: Test start: java Test
INFO: Test moved 'up' to 'up'
正如我所提到的,我已经启动了 Test.java 类并且它启动并运行了,当我开始用上帝监视它时,它无法识别 Test.java 正在运行并且它的 Test.java 再次运行。
所以有2个进程名为Test,一个是我启动的,另一个是上帝启动的。
任何人请建议我如何创建上帝配置来启动未运行的进程。我可能会这样,因为当我开始用上帝监视时,Test.java 已经在运行,它不应该再次启动它。只有当 Test.java 被杀死/停止的上帝应该启动它。