-
Notifications
You must be signed in to change notification settings - Fork 2k
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
raw_exec process children aren't kill properly #2117
Comments
Hey thanks for the great issue! We definitely want to make things better on Windows! |
Is not the situation identical to #1110: "Raw_exec does not shut down child processes on nomad stop"? |
It looks similar, although the solution are probably different: #1110 seems to be related to the fact that bash doesn't seem to handle trap SIGINT properly in its case. The problem here is that, since Windows doesn't have SIGINT, nomad send a TERMINATE directly. Also, raw_exec doesn't seems to create a proper CONSOLE_GROUP under windows for handling the child process case better (not sure about this one). |
Any idea if it will be in the next milestone ? |
@ninoles Unfortunately we don't have anyone actively working on this. Over the next two releases, the implementation of the executor will change and hopefully we will be able to address this then. |
Any news on this topic ? |
I'm going to lock this issue because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active issues. |
Nomad version
Nomad v0.5.0
Operating system and Environment details
Windows 10 Pro
Nomad running in -dev mode
Issue
With raw_exec, the subprocess of the task doesn't get kill properly.
Since on Windows, os.Signal doesn't work, the executor issue a kill directly, which left no chance for the subprocess to react to it and shutdown gracefull. Preferably it should do something similar to the os/signal windows test (https://golang.org/src/os/signal/signal_windows_test.go):
Reproduction steps
Create a process that create a subprocess.
Run it in nomad.
Stop the process.
See that the grandchild process is still running.
The text was updated successfully, but these errors were encountered: