2013-12-20 76 views
0

我想監視已經運行的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再次。

所以有兩個進程運行名爲Test,一個是由我啓動的,另一個是由上帝啓動的。

任何人都請告訴我如何創建god配置來啓動未運行的進程。我可能因爲Test.java已經在運行,當我開始監視上帝時,它不應該再次啓動它。只有當Test.java被殺死/停止時,神才能啓動它。

+0

可能重複[神監視器的Java後臺程序?(http://stackoverflow.com/questions/20610712/monitor -java-守護進程與神) –

回答

1

那麼也許你必須給它一個pid監視你需要從GOD RB文檔

enter image description here

w.pid_file = File.join(RAILS_ROOT, "log/mongrel.#{port}.pid") ## Your Pid file 

我也會建議你

直指定pid_file上帝閱讀我的答案here

如果您仔細閱讀了問題和答案(特別是當我描述01在回答意思),你可以確切的答案您正在尋找

希望這幫助