1
0
mirror of https://github.com/danog/process.git synced 2024-11-30 04:39:04 +01:00

Update examples

This commit is contained in:
Aaron Piotrowski 2018-10-15 09:55:15 -05:00
parent b71e5c0544
commit 91dc2ec100
No known key found for this signature in database
GPG Key ID: ADD1EF783EDE9EEB
5 changed files with 11 additions and 10 deletions

View File

@ -5,7 +5,7 @@
"require": { "require": {
"php": ">=7", "php": ">=7",
"amphp/amp": "^2", "amphp/amp": "^2",
"amphp/byte-stream": "^1.2" "amphp/byte-stream": "^1.4"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6", "phpunit/phpunit": "^6",

View File

@ -2,7 +2,7 @@
include \dirname(__DIR__) . "/vendor/autoload.php"; include \dirname(__DIR__) . "/vendor/autoload.php";
use Amp\ByteStream\Message; use Amp\ByteStream;
use Amp\Process\Process; use Amp\Process\Process;
Amp\Loop::run(function () { Amp\Loop::run(function () {
@ -10,9 +10,9 @@ Amp\Loop::run(function () {
$command = DIRECTORY_SEPARATOR === "\\" ? "cmd /c echo Hello World!" : "echo 'Hello, world!'"; $command = DIRECTORY_SEPARATOR === "\\" ? "cmd /c echo Hello World!" : "echo 'Hello, world!'";
$process = new Process($command); $process = new Process($command);
$process->start(); yield $process->start();
echo yield new Message($process->getStdout()); echo yield ByteStream\buffer($process->getStdout());
$code = yield $process->join(); $code = yield $process->join();
echo "Process exited with {$code}.\n"; echo "Process exited with {$code}.\n";

View File

@ -7,6 +7,8 @@ use function Amp\Promise\all;
function show_process_output(Process $process): \Generator function show_process_output(Process $process): \Generator
{ {
yield $process->start();
$stream = $process->getStdout(); $stream = $process->getStdout();
while (null !== $chunk = yield $stream->read()) { while (null !== $chunk = yield $stream->read()) {
@ -14,7 +16,7 @@ function show_process_output(Process $process): \Generator
} }
$code = yield $process->join(); $code = yield $process->join();
$pid = yield $process->getPid(); $pid = $process->getPid();
echo "Process {$pid} exited with {$code}\n"; echo "Process {$pid} exited with {$code}\n";
} }
@ -29,7 +31,6 @@ Amp\Loop::run(function () {
? "ping -n 5 {$host}" ? "ping -n 5 {$host}"
: "ping -c 5 {$host}"; : "ping -c 5 {$host}";
$process = new Process($command); $process = new Process($command);
$process->start();
$promises[] = new Amp\Coroutine(show_process_output($process)); $promises[] = new Amp\Coroutine(show_process_output($process));
} }

View File

@ -10,7 +10,7 @@ Amp\Loop::run(function () {
? "cmd /c echo 1 & ping -n 2 127.0.0.1 > nul & echo 2 & ping -n 2 127.0.0.1 > nul & echo 3 & exit 42" ? "cmd /c echo 1 & ping -n 2 127.0.0.1 > nul & echo 2 & ping -n 2 127.0.0.1 > nul & echo 3 & exit 42"
: "echo 1; sleep 1; echo 2; sleep 1; echo 3; exit 42"; : "echo 1; sleep 1; echo 2; sleep 1; echo 3; exit 42";
$process = new Process($command); $process = new Process($command);
$process->start(); yield $process->start();
$stream = $process->getStdout(); $stream = $process->getStdout();

View File

@ -2,7 +2,7 @@
include \dirname(__DIR__) . "/vendor/autoload.php"; include \dirname(__DIR__) . "/vendor/autoload.php";
use Amp\ByteStream\Message; use Amp\ByteStream;
use Amp\Process\Process; use Amp\Process\Process;
Amp\Loop::run(function () { Amp\Loop::run(function () {
@ -12,12 +12,12 @@ Amp\Loop::run(function () {
} }
$process = new Process('read; echo "$REPLY"'); $process = new Process('read; echo "$REPLY"');
$process->start(); yield $process->start();
/* send to stdin */ /* send to stdin */
$process->getStdin()->write("abc\n"); $process->getStdin()->write("abc\n");
echo yield new Message($process->getStdout()); echo yield ByteStream\buffer($process->getStdout());
$code = yield $process->join(); $code = yield $process->join();
echo "Process exited with {$code}.\n"; echo "Process exited with {$code}.\n";