Скрипт Bash не будет выпущен для Jenkins при вызове подписки - PullRequest
2 голосов
/ 20 декабря 2011

У меня есть скрипт, который вызывает подстрочный индекс и пытается отменить / отменить этот скрипт, чтобы Дженкинс, вызвавший скрипт, мог успешно завершиться. Кажется, что он запускает сценарий в командной строке, поэтому я могу выйти из системы или выполнить другие сценарии в командной строке (SSH), но Дженкинс зависает в ожидании завершения выпущенного сценария. Есть ли способ обойти это?

super.sh

#!/bin/bash

/home/oracle/example/subscr.sh>temp-log.log</dev/null&
disown -h

echo "Done"
exit 0

subscr.sh

#!/bin/bash

while [ false ]; do
  echo "Still Working"
  sleep "5s"
done

При этом Дженкинс просто бесконечно зависает, пока я не убью выполнение subcr.

1 Ответ

3 голосов
/ 20 декабря 2011

Попробуйте использовать nohup /home/oracle/example/subscr.sh >temp-log.log & вместо disown -h в super.sh. В вашей версии stderr из subscr.sh не перенаправляется, и это может привести к вашей проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...