It may happen that ADB returns 0 exit code even though the test run failed - in this case we want touch.server to fail nonetheless. Hence we give the listener 2 seconds timeout after the process exited and if it didn't close itself by then we kill it and return a non-zero exit code.