-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[Process] Stopping of processes inconsistent between platforms #20259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I would expect |
Linux and Windows are two different OSes and we can't completely abstract them out. |
@sustmi I'm sorry but I must close this as "we can't fix it" because of the reasons mentioned by Nicolas. |
Not that this has been "fixed" in 3.3, when you use the Process class with an array as first attribute. |
If I remember it correctly I wanted the I do not think that this issue can be resolved by passing an array as an argument to |
That's a strange statement... How do you know? |
If I understand it correctly the new "array as the first argument" interface (#21474) can only be used for a single executable. |
On Symfony side, there is a new primitive that allows fixing the issue. The composer would need to take advantage of it. The line you linked can certainly be split into several consecutive process calls if needed. |
Uh oh!
There was an error while loading. Please reload this page.
On Linux, the primary implementation of
Process::stop()
is callingproc_terminate()
withTERM
signal.This effectively kills the process but usually not its child processes.
On Windows, however,
taskkill
command with/T
switch is used so whole process sub-tree is killed.I found that the
taskkill
command for Windows platforms was added here: symfony/process@1eb5593#diff-9a01fc0e340da4c3f1e4a16029a63977R626 .But the commit message says nothing about any need to kill the whole process tree:
Is there any reason for this inconsistency?
The text was updated successfully, but these errors were encountered: