У нас есть автоматизированная сборка под управлением Hudson (1.312), в которой есть несколько слоев. О рабах:
- codewarrior cc/ld и другие инструменты (некоторые собственные), запускаются
- несколько рекурсивных экземпляров Cygwin GNU делают экземпляры 3.81, управляемые
- Hudson «выполнить пакетную команду Windows» (насколько я могу судить, cmd.exe запускает пакетный файл, который создает hudson), запускается
- Служба Hudson, работающая от имени пользователя домена (не LocalService), запущена
- компьютер с Windows XP (32-разрядная версия)
Мастер - это машина OSX, на которой работает стандартный Tomcat.
Проблема: кнопка «отменить сборку» (маленький красный крестик, ведущий к URL-адресу «стоп») не удаляет make или какой-либо из его подпроцессов. Что касается пользовательского интерфейса Hudson, задание успешно остановлено, но процессы make.exe и cc/ld продолжают выполняться. Это может вызвать серьезные проблемы, если сборка снова начнется в той же рабочей области.
Есть ли «лучшая практика» для отключения всех этих процессов?
(Прежде чем кто-либо предложит менее франкенштейновскую структуру управления сборкой, такую как ant, jam, maven и т. д., мы переходим на jam, довольно успешно! Пока мы разбираемся с перегибами, нам нужно иметь сборки, которые можно убить в текущей системе. , хотя.)