I can answer these.
-
I assume you were using
neo4j status
to check if Neo4j is running. When Neo4j is launched vianeo4j start
, it creates a file with the pid of the launched process (this file is removed when neo4j stops), andneo4j status
looks for that file for that specific instance, and if it finds it, double-checks that it's running, and at that point it knows that its neo4j is running. Ifneo4j status
is run on a different instance, since neo4j was not started for that instance, it has no file to reference with the pid, so it believes neo4j is not running. If you are starting neo4j from a service or systemd or similar, then you should not useneo4j status
, and should use the service instead to determine if neo4j is running. -
cypher-shell doesn't look for any pid files. It is only looking to make a bolt connection to the given address when invoked (or if not provided, it will default to look for a bolt connection to localhost:7687). So it doesn't matter which neo4j you start, if both are configured for bolt on 7687 on your local machine, cypher-shell will connect.
-
By default Neo4j, on desktop or standalone, will run on your local machine and will listen for bolt connections on port 7687. If you launch another Neo4j instance that is trying to bind to ports already bound to another running Neo4j instance, that will fail and neo4j will stop. If you want to run two Neo4j instances simultaneously on the same machine, at least one of those instances needs to have its configuration changed so the ports used do not conflict.