Leak chromedriver processes when run Appium without giving chromedriver port

I ran multiple Appium and saw a lot of chromedriver processes. I have stumbled upon appium-chromedriver code and figured out few things below:

So the problem here: When user restarts Appium without giving a specific Chromedriver port (leave it blank), the wrapper can’t kill previous chromedriver and that leads to leaking processes. I wonder that how can we prevent this issue? Giving a specific port seems good enough but that means the problem is still here.