Запуск независимого процесса из .bat - PullRequest
1 голос
/ 02 октября 2009

У меня есть задание Hudson, которое запускает файл сценария .bat, который сам запускает мой сервер приложений Jonas и несколько других задач.

Сценарий правильно запускается из Hudson на моем ведомом устройстве, затем запускается мой сервер приложений, но в тот момент, когда мое задание Hudson заканчивается, сервер приложений уничтожается. Это связано с тем, что все процессы, запущенные в ходе этого процесса, используют одни и те же каналы (stdin / sdtout / stderr), как описано здесь .

Как вы уже поняли, это действительно не то, что я хочу! На самом деле у меня есть другая работа Hudson, которая запускается сразу после той, что я описал выше, чтобы протестировать мое приложение. Таким образом, так как мой сервер приложений был убит в тот момент, когда задания Хадсона закончились, мои тесты вообще не могут запускаться ...

Так, как я могу решить это?

Эта проблема строго связана с тем, что скрипт запускает Хадсон, если я запускаю тот же скрипт из командной строки, проблема вообще не возникает ...

В приведенной выше ссылке они предлагают использовать команду «at», которая позволяет планировать задачу в Windows. Я действительно не хочу использовать это решение, поскольку оно подразумевает изменения в моем скрипте .bat, потому что я запускаю его из Хадсона.

  • Полагаю, в моем файле .bat есть способ сказать: «Хорошо, вы собираетесь запустить мой сервер приложений, НО в независимом процессе». Ребята, вы знаете, как это сделать?
  • Может быть, Хадсон сможет решить эту проблему? Вы, ребята из Гудзона, знаете, как?

Заранее спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 02 октября 2009

Лучшей практикой здесь является очистка переменной окружения BUILD_ID. При очистке после задания на сборку Хадсон просматривает переменную окружения BUILD_ID в каждом процессе, чтобы убить все затяжные процессы. Таким образом, очистив эту переменную среды, Хадсон не убьет процесс.

2 голосов
/ 02 октября 2009

Попробуйте запустить сервер приложений с помощью команды START. Этот сайт дает несколько примеров использования. Я думаю, что вы должны провести несколько экспериментов с правильными параметрами, но ваша первая попытка должна быть:

START "appServer" "[path to your application server]\applicationServer.exe"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...