我正在使用DigitalOcean
s' Ubuntu 16.04
我无法理解为什么我可以通过键入Neo4j
成功启动sudo neo4j start
,但我无法阻止它sudo neo4j stop
:它总是在为我写信给我neo4j is not running
。我做了ps aux
命令并发现neo4j
以名称java
运行:
因此,我可以通过执行neo4j
,然后kill -15 31905
重启sudo neo4j start
。谁能详细解释这里发生了什么?为什么sudo neo4j stop
无效?
答案 0 :(得分:1)
你知道,我已经看过要停止的代码了,我无法弄清楚它是如何工作的,至少在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禁用neo4j
应该比neo4j启动/停止接口好得多,并且给你systemd的优点,比如能够检查标准输出,查询当前状态等。如果neo4j因任何原因死亡,它也会重新启动。