有没有办法检查Neo4J是否正在使用pidof
命令运行?我试着做了
pidof /path/to/neo4j/bin/neo4j
但它似乎没有效果。
我需要它来设置一个脚本,然后我将使用cron启动它以确保如果数据库崩溃我可以重新启动它。
谢谢!
答案 0 :(得分:3)
bin/neo4j status
是您要查找的命令。
答案 1 :(得分:3)
对于更一般的用途,检查neo4dj是否正在运行,请使用以下命令:
service neo4j-service status
答案 2 :(得分:0)
由于java
命令运行neo4j,因此无法正常工作。
如果你想自己做点什么,这是一个解决方法:
if test -z "$(ps -A | grep neo4j)"
then
echo "no neo4j instance running"
else
echo "neo4j up and running"
fi
但是,正如你可能知道的那样,noe4j发射器已经做过类似的事情了,我们可以看看它是如何在那里完成的:
detectrunning() {
if [ $DIST_OS = "solaris" ] ; then
## SmartOS has a different lsof command line arguments
newpid=$(lsof -o $NEO4J_SERVER_PORT | grep '::' | head -n1 | cut -d ' ' -f 1)
else
## This could be achieved with filtering using -sTCP:LISTEN but this option is not available
## on lsof v4.78 which is the one bundled with some distros. So we have to do this grep below
newpid=$(lsof -i :$NEO4J_SERVER_PORT -F T -Ts | grep -i "TST=LISTEN" -B1 | head -n1)
newpid=${newpid:1}
fi
}
这是neo4j分发目录中bin/neo4j
脚本的摘录。
答案 3 :(得分:0)
在Ubuntu 16 04中,我可以执行以下操作:
sudo service neo4j status
答案 4 :(得分:0)
您可以使用以下方法在Windows中获取neo4j服务状态:
Powershell:
Get-Service neo4j
CMD / Powershell:
service neo4j