2015-07-08 3 views
0

Я пытаюсь запустить несколько сценариев, связанных с штормом апачей. Я выполняю команды через ssh, и все эти команды выполняются на одном удаленном компьютере. Для некоторых, как это не работает должным образом. Вот мой код:Запуск процесса/сценарий в фоновом режиме с использованием nohup

echo Begin! 
ssh -i file [email protected] 'nohup ./zookeeper-3.4.6/bin/zkCli.sh -server IP >/dev/null & ' 
echo Zookeeper connected 
ssh -i file [email protected] 'nohup ./apache-storm-0.9.3/bin/storm nimbus &' 
echo Nimbus started 
ssh -i file [email protected] 'nohup ./apache-storm-0.9.3/bin/storm ui &' 
echo UI started 
ssh -i file [email protected] 'nohup ./apache-storm-0.9.3/bin/storm supervisor &' 
echo End! 

Так, как ожидается, сценарий подключения первой и зоопарка тушит «Zookeeper подключен», а затем. После этого демон nimbus запускается, и я получаю «Nimbus start». Но тогда для некоторых, как сценарий кажется застрявшим, и я понятия не имею, почему?

EDIT: Когда я запускаю сценарий локально, без части ssh команды, он работает хорошо. Так что проблема должна быть связана с ssh?

ответ

0

Добавление другого "&" сделал это для меня:

echo Begin! 
ssh -i file [email protected] 'nohup ./zookeeper-3.4.6/bin/zkCli.sh -server IP >/dev/null & ' 
echo Zookeeper connected 
sleep 15 
ssh -i file [email protected] 'nohup ./apache-storm-0.9.3/bin/storm nimbus &' & 
echo Nimbus started 
sleep 15 
ssh -i file [email protected] 'nohup ./apache-storm-0.9.3/bin/storm ui &' & 
echo UI started 
sleep 15 
ssh -i file [email protected] 'nohup ./apache-storm-0.9.3/bin/storm supervisor &' & 
echo End! 
Смежные вопросы