hhpack / process
Process utility library for Hack
Installs: 247
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 2
Language:Shell
Requires
- hhvm: >=3.21.0
- hhvm/hhvm-autoload: ^2.0
- hhvm/hsl: ^4.1
Requires (Dev)
- facebook/fbexpect: ^2.5
- hhvm/hacktest: ^1.5
This package is auto-updated.
Last update: 2024-11-15 20:02:46 UTC
README
Basic usage
Start the process, it is an example to wait until the end.
information of stdout and stderr are output to the buffer.
use HHPack\Process; <<__EntryPoint>> async function main() : Awaitable<noreturn> { $result = await Process\exec('hh_client restart'); $result->stdout()->display(); $result->stderr()->display(); $result = await Process\exec('hh_client check --json'); $result->display(); exit(0); }
Execution of the script
If you want to run the script, you can run in execFile function.
use HHPack\Process; <<__EntryPoint>> async function main() : Awaitable<noreturn> { $result = await Process\execFile('/path/to/example.hh', [ 'a', 'b' ]); $result->stdout()->display(); $result->stderr()->display(); exit(0); }
Manual control of the process
You can use the spawn function to generate a new child process.
To wait for the generated child process to finish use the wait method.
use HHPack\Process; use HHPack\Process\ProcessOptions; <<__EntryPoint>> async function pipe_example() : Awaitable<noreturn> { $options = new ProcessOptions(); $options->stdout(new Stdout()); $options->stderr(new Stderr()); using ($p = Process\spawn('hh_client restart', [], $options)) { await $p->wait(); } exit(0); }
Run the test
You can run the test with the following command.
composer install
composer test