I'd simplify things by doing `child.kill` in the caller (i.e., after callback fires).  Don't muddy the waters here with a combination of "clear users" and "kill server process".  Those problems are in different scopes.