If ZooKeeper is started with zkServer.sh, and an error is shown that a ZooKeeper process is already running, the command returns with an exit status of 0, while it should end with a non-zero exit status.
$ bin/zkServer.sh start
JMX enabled by default
Using config: /home/reed/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... already running as process 25063.
$ echo $?
This can make it difficult for automated scripts to check if creating a new ZooKeeper process was successful, as it won't catch if a user accidentally started it before.