-
Notifications
You must be signed in to change notification settings - Fork 585
-
Notifications
You must be signed in to change notification settings - Fork 585
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
"saving process ryan", need option to disable killing processes; FAKE kills other FAKEs and also other processes that don't belong to it directly #357
Comments
I'd like to see a solution that doesn't need an option. Any ideas how to fix it? |
Currently the started processes are tracked by processId and name, but why not use the Process object? It tracks the status of the spawned process and can kill only that one. |
We can try this. ==> up-for-grabs |
the killing is imo verging on completely inappropriate. fake shouldn't assume it has ultimate authority to kill the processes it starts. it absolutely should be an optional thing for it to do. the result of this implementation was that our build system, which often runs ~4 builds simultaneously, exploding in a bloodbath of FAKE just killing all the other builds, whenever one finished. it was remarkably unpleasant. if this isn't made optional, we'll just simply NOT use the helper code from fake to launch processes. |
mhm. Making this optional is easy. I will do this, but your description sounds like a bug. A FAKE build should not kill processes of another FAKE build. |
This small change allows you to write
at the beginning of your build script. Is this good enough or do you prefer a command line param for FAKE? |
thanks for that @forki; that will be perfect for us. |
we think at the moment that the reason FAKE was killing other processes was due to process id reuse (many many processes are started during our build), as I was unable to reproduce it with small examples (hence the reason I think checking owernship might help, or something like that.) |
ok the prerelease and release builds are running. But of course I'd like to see a fix for the root cause. |
Btw: this feature was created due to very big problems on teamcity CI servers. Under some conditions Nunit.exe remains as a zombie process and slows the teamcity process down. After a couple of builds the whole system freezes. |
no worries forki. fwiw, this is the exerpt from the build log about what FAKE was doing:
immediately after this, another build died. all the builds are run independently (through jenkins) so i don't see how FAKE could have decided to kill this process without it either being:
|
can we get an option to stop this? or have the killing process ensure that it is the parent, before it kills?
observed on fake ver 2.2.22.0 (and in the current source code)
The text was updated successfully, but these errors were encountered: