为什么我要杀掉-9 neo4j?

时间:2013-07-06 00:00:08

标签: neo4j

我很好地问道:

$ neo4j stop
Stopping Neo4j Server [74949]........................ lots of dots ......
等了几分钟,再次问道:

$ kill 74949
$ ps x | grep neo
74949   ??  R     30:13.01 /Library/Java/Java...org.neo4j.server.Bootstrapper

仍在运行。做得很好。

$ kill -9 74949

为什么neo4j不尊重TERM信号?如果它在等待什么,我怎么能找到什么?

通常情况下,我会在服务器故障上提出这类问题,但neo4j网站指向此处。

2 个答案:

答案 0 :(得分:1)

不一定是有用的降序...

  • ps alx可能已经给出了一个提示(进程状态 - 但是使用Java程序时,问题通常不是jvm本身死亡/锁定但是在jvm中运行的东西)
  • in top 100%cpu使用情况可能表示无限循环
  • Java进程最终会处于这样一种状态,即他们所做的一切都是为了释放内存几乎总是徒劳无功,启用gc日志记录可以帮助您检测这种情况。
  • afaik neo4j可通过jmx(visualvm或jconsole)进行远程监控,我已经使用这些工具来确定哪个线程挂起了我们的Glassfish服务器。

答案 1 :(得分:-2)

如果执行kill [PID],则只发送(TERM SIGNAL)并且进程将自动关闭它。如果您发送SIGNAL编号9(KILL SIGNAL),则该过程将立即结束。无论目前的状态如何。信号9(不能忽略)。