WP_CLI

Process::run()publicWP-CLI 1.0

Run the command.

Method of the class: Process{}

No Hooks.

Return

ProcessRun.

Usage

$Process = new Process();
$Process->run();

Process::run() code WP-CLI 2.8.0-alpha

public function run() {
	$start_time = microtime( true );

	$pipes = [];
	$proc  = Utils\proc_open_compat( $this->command, self::$descriptors, $pipes, $this->cwd, $this->env );

	$stdout = stream_get_contents( $pipes[1] );
	fclose( $pipes[1] );

	$stderr = stream_get_contents( $pipes[2] );
	fclose( $pipes[2] );

	$return_code = proc_close( $proc );

	$run_time = microtime( true ) - $start_time;

	if ( self::$log_run_times ) {
		if ( ! isset( self::$run_times[ $this->command ] ) ) {
			self::$run_times[ $this->command ] = [ 0, 0 ];
		}
		self::$run_times[ $this->command ][0] += $run_time;
		self::$run_times[ $this->command ][1]++;
	}

	return new ProcessRun(
		[
			'stdout'      => $stdout,
			'stderr'      => $stderr,
			'return_code' => $return_code,
			'command'     => $this->command,
			'cwd'         => $this->cwd,
			'env'         => $this->env,
			'run_time'    => $run_time,
		]
	);
}