Не прекращать EOF с sshpass

ниже мой код скрипта:

sshpass -e ssh -o "StrictHostKeyChecking no" voltdb@$DB_SERVER_IP /bin/bash << EOF
cd voltdb/bin
echo "ReInitializing VoltDB, Wait for 5second"
./voltdb init --force
sleep 5s
echo "Starting VoltDB, Wait for 20second"
./voltdb start &
sleep 20s
echo "setUpVoltDB completed"
exit
EOF
echo "After EOF"

здесь ./voltdb start & выполняется как фоновый процесс

когда я запускаю скрипт, он выполняет все команды EOF блок, но я никогда не добраться до echo "After EOF"

если я комментарий ./voltdb start & line то все работает нормально.

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

28
задан Anaksunaman
27.04.2023 23:48 Количество просмотров материала 3011
Распечатать страницу

1 ответ

мои тесты показывают, что при bash на удаленную сторону попадает exit, Он ждет завершения своих заданий. Это должно изменить поведение:

./voltdb start &
disown $!

по данным ответ вы будете в порядке, если процесс не попытается прочитать из стандартного ввода или записать в стандартный вывод. В этом случае вы можете захотеть исследовать nohup или tmux (или screen).

0
отвечен Kamil Maciorowski 2023-04-29 07:36

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх