2012-04-24 5 views
0

基本的に私はantターゲットに2つのsshexecタスクを持っています。最初のメッセージ送信者は1台のマシンでメッセージ送信者を起動し、2台目は別のコンピュータでメッセージ受信者を起動します。 私はsshexecタスクがメッセージの送信者を実行するコマンドを発行して、送信者が走行中に戻り、次のsshexecタスクは受信機を開始するため、送信者と受信者の両方を並行して実行していることになるだろうと仮定して、これは私が達成したいと思っているものですが、これが実際に当てはまるかどうか、あるいは送信者が返ったときに最初のタスクが返ってくるだけなのかどうかはわかりません。したがって、受信者は、 。ant sshexecタスクは、実行中のコマンドが戻るか以前に戻っていますか?

sshexecのタスクページはあまり情報を提供していないようですが、私はやや新しいMacです(コマンドはMac mini 10で実行されています)ので、助けていただければ幸いです!

答えて

2

<sshexec>タスクは、リモートコマンドが返された後に戻ります。

あなただけの2つのコマンドは同時に開始したい場合は、<parallel>タスクを使用することができます。 <parallel>タスクにネストされたタスクは、マルチスレッドによって「同時に」実行されます。しかし、このようにして、<sshexec>は、2つのコマンドが戻るのを待つ必要があります。

あなたのantスクリプトがこれらの2つのコマンドを起動し、リモートコマンドが戻るのを待たずにビルドを続行したい場合は、コマンドラインでnohupのようなものを使用することができます。

私はこのようなnohupを持つSSH端末からのリモートコマンドを実行したときので、私は、nohupをが動作するかどうかわからない:

nohup command & [ENTER] 

私は私が同じ端末を使い始める前に再び入る押す必要があります何か他のことをする。

関連する問題