Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While using solo, I noticed there were some issues when trying to signal commands like
php artisan serve
,php artisan horizon
, etc.This is immediately visible in the case of
serve
, since the tasks can't be stopped and started again because of the old process still running and blocking the port.As you can see in the screenshot below, the Symfony Process itself wraps the actual command defined in the service provider with another process. This is documented here
So when the process was stopped, only the wrapper process itself was stopped but not the actual
php artisan serve
process.When starting the process using an array command instead of a string command, Symfony will not wrap it in a subprocess. This way we can stop the actual
php artisan serve
command process instead of its wrapper process.I tested this manually with all the default commands solo ships however I am not entirely sure if and how this way of starting the process has some drawbacks.
A lot of command and process here, I hope this makes sense.
I think this is also the reason why pail didn't stop here