Documentation: https://hypervel.org/docs/processes
An asynchronous process is stopped when its starting coroutine exits. Start it in the coroutine that will wait for it; see asynchronous processes for ownership and explicit detachment.
Ported from: https://github.com/laravel/framework/tree/13.x/src/Illuminate/Process