public function stop(): bool
    {
        $this->process->getPid()->onResolve(function ($error, $pid) {
            if ($error) {
                throw new ProcessException($error);
            }

            print "\nStopping Process Id: {$pid}\n";

            if ('\\' === \DIRECTORY_SEPARATOR) {
                \exec(\sprintf('taskkill /F /T /PID %d 2>&1', $pid), $output, $exitCode);
                if ($exitCode) {
                    throw new ProcessException(\sprintf('Unable to kill the process (%s).', \implode(' ', $output)));
                }
            } else {
                $this->process->signal(15);

                if ($ok = \proc_open("kill $pid", [2 => ['pipe', 'w']], $pipes)) {
                    $ok = false === \fgets($pipes[2]);
                }

                if (!$ok) {
                    throw new ProcessException(\sprintf('Error while killing process "%s".', $pid));
                }
            }

            $this->process->kill();
        });

        return true;
    }
public function stop(): bool
    {
        $this->process->getPid()->onResolve(function ($error, $pid) {
            if ($error) {
                throw new ProcessException($error);
            }

            print "\nStopping Process Id: {$pid}\n";

            if ('\\' === \DIRECTORY_SEPARATOR) {
                \exec(\sprintf('taskkill /F /T /PID %d 2>&1', $pid), $output, $exitCode);
                if ($exitCode) {
                    throw new ProcessException(\sprintf('Unable to kill the process (%s).', \implode(' ', $output)));
                }
            } else {
                $this->process->signal(15);

                if ($ok = \proc_open("kill $pid", [2 => ['pipe', 'w']], $pipes)) {
                    $ok = false === \fgets($pipes[2]);
                }

                if (!$ok) {
                    throw new ProcessException(\sprintf('Error while killing process "%s".', $pid));
                }
            }

            $this->process->kill();
        });

        return true;
    }
public function stop ( ) : bool { $ this -> process -> getPid ( ) -> onResolve ( function ( $ error , $ pid ) { if ( $ error ) { throw new ProcessException ( $ error ) ; } print "\nStopping Process Id: {$pid}\n" ; if ( '\\' === \ DIRECTORY_SEPARATOR ) { \ exec ( \ sprintf ( 'taskkill /F /T /PID %d 2>&1' , $ pid ) , $ output , $ exitCode ) ; if ( $ exitCode ) { throw new ProcessException ( \ sprintf ( 'Unable to kill the process (%s).' , \ implode ( ' ' , $ output ) ) ) ; } } else { $ this -> process -> signal ( 15 ) ; if ( $ ok = \ proc_open ( "kill $pid" , [ 2 => [ 'pipe' , 'w' ] ] , $ pipes ) ) { $ ok = false === \ fgets ( $ pipes [ 2 ] ) ; } if ( ! $ ok ) { throw new ProcessException ( \ sprintf ( 'Error while killing process "%s".' , $ pid ) ) ; } } $ this -> process -> kill ( ) ; } ) ; return true ; }
Stop the running process

@return bool
Stop the running process