3

Я пытаюсь запустить weblogic-сервер с помощью команды ant exec, после того, как операция запускает процесс exec, создает дочерний процесс, я хочу убить родительский процесс и сохранить живой процесс ,Как убить выполнение задачи exec в ANT

Мой код ниже

<project name="startserver" default="start" basedir="."> 
     <target name="start"> 
      <exec dir="C:\bea\user_projects\domains\devtest" 
        executable="cmd" 
        failonerror="true"> 
        <arg value="/c"/> 
       <arg value="startWebLogic.cmd"/> 
      </exec> 
     </target> 
</project> 

этот код начинается сервер и мое приложение также вверх, проблема заключается в том, что муравей сценарий все еще работает & кроме того, он не выходит, как показано ниже

enter image description here

Как я могу выйти из exec и убить родительский процесс, в качестве обходного пути я попытался использовать

таймаут

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

ответ

2

Попробуйте использовать атрибут spawn="true" задачи exec. Он должен делать то, что вы ищете. Но остерегайтесь последствий для обработки ввода/вывода (см. Ссылку).

+0

Я не мог достичь даже после использования spawn = "true" – srk

0

Когда вы установили spawn="true" для тега exec, дочерний процесс запускается в фоновом режиме, даже если текущий процесс завершает выполнение. В вашем случае вместо cmd используйте startweblogic.cmd непосредственно как exec.

Смежные вопросы