Пример #1
0
 /**
  * 关闭资源
  * @return int 退出码
  */
 private function close()
 {
     $this->processPipes->close();
     if (is_resource($this->process)) {
         $exitcode = proc_close($this->process);
     } else {
         $exitcode = -1;
     }
     $this->exitcode = -1 !== $exitcode ? $exitcode : (null !== $this->exitcode ? $this->exitcode : -1);
     $this->status = self::STATUS_TERMINATED;
     if (-1 === $this->exitcode && null !== $this->fallbackExitcode) {
         $this->exitcode = $this->fallbackExitcode;
     } elseif (-1 === $this->exitcode && $this->processInformation['signaled'] && 0 < $this->processInformation['termsig']) {
         $this->exitcode = 128 + $this->processInformation['termsig'];
     }
     return $this->exitcode;
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 public function close()
 {
     parent::close();
     foreach ($this->fileHandles as $handle) {
         fclose($handle);
     }
     $this->fileHandles = [];
 }