/**
  * Force the external process to complete
  * The process gets immediately terminated
  * However it can take some time for the parent to consume the status
  */
 public function kill()
 {
     if ($this->isExternal()) {
         //stop process
         exit;
     } else {
         $this->communicator->kill();
         //ignore if thread is not running
     }
 }