protected function compileCommand()
    {
        $output = ProcessUtils::escapeArgument($this->output);

        $redirect = $this->shouldAppendOutput ? ' >> ' : ' > ';

        if (! $this->runInBackground) {
            return $this->command .$redirect .$output .' 2>&1';
        }

        $delimiter = windows_os() ? '&' : ';';

        $phpBinary = ProcessUtils::escapeArgument(
            with(new PhpExecutableFinder)->find(false)
        );

        $forgeBinary = defined('FORGE_BINARY') ? ProcessUtils::escapeArgument(FORGE_BINARY) : 'forge';

        $finished = $phpBinary .' ' .$forgeBinary .' schedule:finish ' . ProcessUtils::escapeArgument($this->mutexName());

        return '(' .$this->command .$redirect .$output .' 2>&1 ' .$delimiter .' ' .$finished .') > '
            . ProcessUtils::escapeArgument($this->getDefaultOutput()) .' 2>&1 &';
    }
protected function compileCommand()
    {
        $output = ProcessUtils::escapeArgument($this->output);

        $redirect = $this->shouldAppendOutput ? ' >> ' : ' > ';

        if (! $this->runInBackground) {
            return $this->command .$redirect .$output .' 2>&1';
        }

        $delimiter = windows_os() ? '&' : ';';

        $phpBinary = ProcessUtils::escapeArgument(
            with(new PhpExecutableFinder)->find(false)
        );

        $forgeBinary = defined('FORGE_BINARY') ? ProcessUtils::escapeArgument(FORGE_BINARY) : 'forge';

        $finished = $phpBinary .' ' .$forgeBinary .' schedule:finish ' . ProcessUtils::escapeArgument($this->mutexName());

        return '(' .$this->command .$redirect .$output .' 2>&1 ' .$delimiter .' ' .$finished .') > '
            . ProcessUtils::escapeArgument($this->getDefaultOutput()) .' 2>&1 &';
    }
protected function compileCommand ( ) { $ output = ProcessUtils :: escapeArgument ( $ this -> output ) ; $ redirect = $ this -> shouldAppendOutput ? ' >> ' : ' > ' ; if ( ! $ this -> runInBackground ) { return $ this -> command . $ redirect . $ output . ' 2>&1' ; } $ delimiter = windows_os ( ) ? '&' : ';' ; $ phpBinary = ProcessUtils :: escapeArgument ( with ( new PhpExecutableFinder ) -> find ( false ) ) ; $ forgeBinary = defined ( 'FORGE_BINARY' ) ? ProcessUtils :: escapeArgument ( FORGE_BINARY ) : 'forge' ; $ finished = $ phpBinary . ' ' . $ forgeBinary . ' schedule:finish ' . ProcessUtils :: escapeArgument ( $ this -> mutexName ( ) ) ; return '(' . $ this -> command . $ redirect . $ output . ' 2>&1 ' . $ delimiter . ' ' . $ finished . ') > ' . ProcessUtils :: escapeArgument ( $ this -> getDefaultOutput ( ) ) . ' 2>&1 &' ; }
Build a command string with mutex.

@return string
Build a command string with mutex .