The Launcher has a fallback if the slave applications on the machine don’t exit in a timely fashion, and that is to kill them. So this means that other versions of the slave will get taken down too (since they’re all just called ‘deadlineslave.exe’).
We would prefer not to “weaken” this fallback, so I’m not sure if we’ll be able to do anything about this.
I know the nKill app I use on windows to kill processes (like, 3dsmax) allows you to specify what to kill by path: given that tool does it, can you query the path of the process, not just the name?
ie any chance the launcher can check it’s own path against the path of the processes it’s killing, that would sort it I would think.
We looked into this a bit more, and it looks like we really don’t need that final fallback. When the launcher is closing slaves, it is getting the slave listening port and pid from the Deadline6 user folder. If a slave is running that doesn’t have its information in that folder, we can simply assume it’s a different version of Deadline, and don’t need to try and kill.
I removed that fallback code and tested it, and the launcher was able to do a full Deadline 6 upgrade while all the Deadline 5 applications were running, so I think we’re good! This fix will be included in beta 16.