Neo4j 可以启动,但不能通过常规 'neo4j stop' 命令停止
Neo4j can be started, but it can't be stopped by regular 'neo4j stop' command
我正在使用 DigitalOcean
s' Ubuntu 16.04
,我无法理解为什么我可以通过键入 sudo neo4j start
成功启动 Neo4j
,但我无法停止it by sudo neo4j stop
:它一直在为我写 neo4j is not running
。我执行了 ps aux
命令并发现 neo4j
是 运行 在名称 java
:
下
因此,我可以通过执行 kill -15 31905
和 sudo neo4j start
来重新启动 neo4j
。谁能详细解释这里发生了什么?为什么 sudo neo4j stop
不起作用?
你知道,我看过停止的代码,但我无法弄清楚它是如何工作的,至少在 3.X 中是这样。但是 Java 不是我最好的语言。我可以建议替代方案吗?假设您安装了 Debian Neo4j 软件包,它包含在 systemd 下启动的正确控制文件。这是the recommended way to start neo4j。所以要启动它,请使用
sudo systemctl start neo4j
确保它在启动后重新启动:
sudo systemctl enable neo4j
停止:
sudo systemctl stop neo4j
最后,要确保它不会在启动后重新启动,
sudo systemctl disable neo4j
应该比 neo4j start/stop 接口工作得更好,并为您提供 systemd 的优势,例如能够检查标准输出、查询当前状态等。如果 neo4j 死机,这也会重新启动 neo4j出于任何原因。
我正在使用 DigitalOcean
s' Ubuntu 16.04
,我无法理解为什么我可以通过键入 sudo neo4j start
成功启动 Neo4j
,但我无法停止it by sudo neo4j stop
:它一直在为我写 neo4j is not running
。我执行了 ps aux
命令并发现 neo4j
是 运行 在名称 java
:
因此,我可以通过执行 kill -15 31905
和 sudo neo4j start
来重新启动 neo4j
。谁能详细解释这里发生了什么?为什么 sudo neo4j stop
不起作用?
你知道,我看过停止的代码,但我无法弄清楚它是如何工作的,至少在 3.X 中是这样。但是 Java 不是我最好的语言。我可以建议替代方案吗?假设您安装了 Debian Neo4j 软件包,它包含在 systemd 下启动的正确控制文件。这是the recommended way to start neo4j。所以要启动它,请使用
sudo systemctl start neo4j
确保它在启动后重新启动:
sudo systemctl enable neo4j
停止:
sudo systemctl stop neo4j
最后,要确保它不会在启动后重新启动,
sudo systemctl disable neo4j
应该比 neo4j start/stop 接口工作得更好,并为您提供 systemd 的优势,例如能够检查标准输出、查询当前状态等。如果 neo4j 死机,这也会重新启动 neo4j出于任何原因。