amphp/process
A fiber-aware process manager based on Amp and Revolt.
v2.1.0
66M downloads/mo
#342 most downloaded on Packagist
amphp/process
What this package is like to depend on
Last release 2 months ago
31 May 2026
Release timing varies
gaps range from 2 weeks to 1.5 years
Some releases are documented
notes for 10 of 29 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
36 releases · first in 2015
1 release in the last 12 months
see the full history below
Release timeline
36 releases · Sep 2015 to May 2026Releases
latest 36-
v2.1.031 May 2026Release notes
Open source →What's Changed
- Added
getSignalName()function which returns the signal constant name, if defined, from a signal number. Requiresext-pcntl, otherwisenullis always returned.
Full Changelog: v2.0.3...v2.1.0
- Added
-
v2.0.319 Apr 2024Release notes
Open source →What's Changed
- Make implicit nullable types explicit to avoid deprecation notice in PHP 8.4.
Full Changelog: v2.0.2...v2.0.3
-
v2.0.213 Feb 2024Release notes
Open source →What's Changed
- Changed waiting for children during shutdown to be synchronous to ensure all children are properly cleaned up. This should avoid zombie processes left when running within an SAPI such as PHP-FPM.
- Fixed
UnhandledFutureErrorbeing thrown to event loop if reading the process exit code fails.
Full Changelog: v2.0.1...v2.0.2
-
v2.0.115 Jan 2023Release notes
Open source →What's Changed
- Fixed error handling if the started process fails immediately.
Full Changelog: v2.0.0...v2.0.1
-
v2.0.009 Jan 2023Release notes
Open source →Stable release compatible with AMPHP v3 and fibers! 🎉
As with other libraries compatible with AMPHP v3, most cases of parameters or returns of
Promise<ResolutionType>have been replaced withResolutionType.Process::__construct()is now private in favor ofProcess::start()Process::start()is now static instead of an instance methodProcess::start()no longer returns the PID, useProcess::getPid()Process::kill()no longer causes an exception to be thrown fromProcess::join()Process::getEnv()has been renamed toProcess::getEnvironment()- Improved handling if the
Processobject is destructed, but the process streams (STDIN, STDOUT, STDERR) are still used - Renamed
escapeArgumentstoescapeArgument - Removed custom stream implementations
- Removed
StatusError - Fixed and improved wrapper copy if running inside of PHARs on Windows
- Removed nullability of
Process::getWorkingDirectory() - Avoid calling
join()insidekill()to avoid suspensions in destructors - Added an optional
Cancellationparameter toProcess::join() - Fixed ended processes sometimes leaving zombie processes on *nix systems (requires
ext-pcntl, an optional dependency)
-
v2.0.0-beta.707 Nov 2022 pre-releaseNothing published for this version
-
v2.0.0-beta.626 Sep 2022 pre-releaseNothing published for this version
-
v2.0.0-beta.512 Jul 2022 pre-releaseNothing published for this version
-
v2.0.0-beta.407 Jul 2022 pre-releaseNothing published for this version
-
v2.0.0-beta.302 Feb 2022 pre-releaseNothing published for this version
-
v2.0.0-beta.217 Dec 2021 pre-releaseNothing published for this version
-
v2.0.0-beta.114 Dec 2021 pre-releaseNothing published for this version
-
v1.1.913 Dec 2024Release notes
Open source →What's Changed
- Fixed potential hang on Windows when a process crashes introduced in 1.1.8.
Full Changelog: v1.1.8...v1.1.9
-
v1.1.813 Dec 2024Release notes
Open source →What's Changed
- Fixed potential exception on Windows if a process crashes.
Full Changelog: v1.1.7...v1.1.8
-
v1.1.719 Apr 2024 -
v1.1.621 Mar 2024Release notes
Open source →What's Changed
- Make implicit nullable types explicit by @nicolas-grekas in #73
New Contributors
- @nicolas-grekas made their first contribution in #73
Full Changelog: v1.1.5...v1.1.6
-
v1.1.524 Feb 2024Release notes
Open source →What's Changed
- Fix
posix_killcrashing / killing other programs onnullby @gerardroche in #68
New Contributors
- @gerardroche made their first contribution in #68
Full Changelog: v1.1.4...v1.1.5
- Fix
-
v1.1.406 Jul 2022Nothing published for this version
-
v1.1.317 Dec 2021Nothing published for this version
-
v1.1.208 Oct 2021Nothing published for this version
-
v1.1.130 Mar 2021Nothing published for this version
-
v1.1.026 Feb 2019Nothing published for this version
-
v1.0.315 Jan 2019Nothing published for this version
-
v1.0.209 Nov 2018Nothing published for this version
-
v1.0.108 Nov 2018Nothing published for this version
-
v1.0.020 Oct 2018Nothing published for this version
-
v0.3.308 Apr 2018Nothing published for this version
-
v0.3.208 Mar 2018Nothing published for this version
-
v0.3.105 Dec 2017Nothing published for this version
-
v0.3.025 Nov 2017Nothing published for this version
-
v0.2.118 Jul 2017Nothing published for this version
-
v0.2.016 Jun 2017Nothing published for this version
-
v0.1.324 Sep 2016Nothing published for this version
-
v0.1.224 Dec 2015Nothing published for this version
-
v0.1.110 Sep 2015Nothing published for this version
-
v0.1.010 Sep 2015Nothing published for this version