2012-03-22 15 views
0

私は同じように、検索デーモンを実行するための小さなスクリプトを持っている: run.sh特定のコマンドが実行を終了するのを待つことはありません。

cd ~/apache-solr 
xterm -e java -jar start.jar 
sleep 5 
cd ~/anotherFolder 
#make something else 

問題を:
- スクリプトは、コマンドを待ちxterm -e ...コマンドが別のコマンドを実行するために完了した後、

質問:
xterm -e ...コマンドの実行が終了するのを待たずに次のコマンドを実行できますか?

P.S.
ご迷惑をおかけして申し訳ありません。

+1

バックグラウンドタスク - 最後に&を使用してコマンドを実行すると、 – Jayan

+0

@ジャヤンあなたはそれを答えにコピーする必要があります。ありがとうございました。 – ted

+1

シェルの理解に時間を費やすのに役立ちます。http://writers.fultus.com/garrels/ebooks/Machtelt_Garrels_Bash_Guide_for_Beginners_2nd_Ed.pdf – Jayan

答えて

2

それとも、より良いあなたがnohup

のように使用することができます:nohupをあなたのコマンドで

nohup xterm -e java -jar start.jar & 

により、たとえば、あなたのパテセッションを閉じてもkillsigを受信しません。

+0

Cool。ありがとう。あなたは 'nohup'について語っているので、あなたの答えを正しいものにするつもりです:) – ted

1

はい、バックグラウンドで実行したい行の後ろに&を置くことができます。コマンドが実行されている間はスクリプトを続行できます。

xterm -e java -jar start.jar & 

例です。

date 
sleep 5 
date 

> Thu Mar 22 11:57:17 CET 2012 
> Thu Mar 22 11:57:22 CET 2012 

date 
sleep 5 & 
date 

> Thu Mar 22 11:57:25 CET 2012 
> Thu Mar 22 11:57:25 CET 2012 
1

イエスは、コマンドの最後に実行

1

アンパサンドの新しいスレッドを開始することを、コマンドの最後に&を入れて、バックグラウンドでコマンドを起動し、スクリプトは次の行を継続できるようになります。

xterm -e java -jar start.jar & 
1

バックグラウンドでプロセスを実行するためにシェルに指示&を終了する方法について

xterm -e java -jar start.jar & 

注意。

スクリプトに結果が必要な場合は、コマンドがいつ終了したかを知る方法がもう一つの質問です。

関連する問題