VMのプロビジョニング中、バックグラウンドで実行するジョブを開始したいと考えています。このジョブは、特定のファイルが変更されたかどうかを継続的にチェックします。私は、コマンドラインで直接これを実行すると、ジョブが作成されプロビジョニング中に連続バックグラウンドジョブを作成する
nohup sh -c 'while true; do sleep 3; echo x; done' &
、どのI:私は次の行が含まれたスクリプト(エコーが、何もしない3秒ごとに「×」)を参照放浪ファイルでジョブを使用して確認できます。私はしかし、
vagrant ssh -c "nohup sh -c 'while true; do sleep 3; echo x; done' &"
を使用してVMの外からそれを実行するか、またはそれは、プロビジョニング何の一部として実行された場合に発生するようであれば
。 (。何nohup.outファイルが作成されませんでした何の仕事&はありません)
私は同じ問題に対処するように見えるの質問に次の2つの答えてみました:(1)This answerが適切」に示唆
を私のためにはうまくいかなかった。私は、次のことを試してみました:
vagrant ssh -c "nohup sh -c 'while true; do sleep 3; echo x; done' 0<&- &>/dev/null &"
(2)second answerはどちらか動作しませんでした「睡眠1」を追加すると言う:
vagrant ssh -c "nohup sh -c 'while true; do sleep 3; echo x; done' & sleep 1"
両方の試みは、直接ラインが働いていたコマンドでコマンドを実行するためのvagrant ssh -c経由で実行するか、プロビジョニングによって何もしないように見えます。