def busted_terminate(self, timeout=.5):
#        self.kill(signal.SIGTERM)
        self.kill(signal.SIGINT)
        try:
            func = RunWithTimeout(self.wait, timeout=timeout)
            return func()
        except TimeoutException:
            pass
            
        # ok, none of the above worked. Let's pull out the big guns
        if hasattr(signal, "SIGKILL"):
            self.kill(signal.SIGKILL)
            return self.wait()
Attempt to gracefully terminate the process
dataset/ETHPy150Open boakley/robotframework-workbench/rwb/runner/tsubprocess.py/Process.busted_terminate