Внутри моего shell-скрипта есть команды cp после следующих команд

 echo 'Starting Jboss server !!!' 
 (eval "sh standalone.sh --debug")
 cp /soure_file_path  /target_path 
 sleep 60s

sh standalone.sh --debug работает правильно, но после этого команды cp не выполняются через 60 секунд.

1 ответ1

1

Измените ваш скрипт на следующее:

echo 'Starting Jboss server !!!' 
nohup sh standalone.sh --debug &
sleep 60s
cp /soure_file_path /target_path

Таким образом, вы запускаете команду в другом процессе, и в качестве плюса она также не испортит вывод вашей консоли (если вам нужен вывод, просто удалите nohup). Затем он будет спать в течение 60 секунд, затем выполните копирование. Если вам нужно завершить работу сервера JBoss, вы можете найти процесс, выполняющий standalone.sh , и завершить его с помощью SIGTERM.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .