Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/2668 @Leemoonsoo Just find out that zeppelin didn't capture the correct pid of interpreter process, it capture the parent process of interpreter process (interpreter.sh) instead of the jvm process. I fix that in the new commit, but even that it still won't work when using isolated mode. All the interpreter process of the same group would share the same interpreter process pid file, which mean we would still have process leakage. Of course we can create one pid for each process, but I am afraid it would take a long time to shutdown zeppelin, because as my experience, each call of `wait_for_zeppelin_to_die` in `zeppelin-daemon.sh` would sleep 3 seconds. Not sure the history of killing interpreter process in `zeppelin-daemon.sh`, it might be safe to remove that, because `ZeppelinServer` will terminate all the interpreter process in the shutdown hook.
---