1

次のスクリプト フラグメントは、シェル スクリプト sqoopToHdfs.sh をタブ内のエントリごとに 1 回、ただし順番に起動します。

tabs="contracts employees resources"
for t in $tabs; do /shared/sqoopToHdfs.sh $t >$t.out 2>&1 ; done

ただし、これらすべてを並行して起動しようとする次の試みは機能しませ

for t in $tabs; do /shared/sqoopToHdfs.sh $t >$t.out 2>&1 **&**; done

では、for ループと互換性のあるバックグラウンドで起動する (または同じ効果を達成する) 正しい構文は何ですか?

4

4 に答える 4

2

&を最後に追加する

for t in $tabs; do /shared/sqoopToHdfs.sh $t >$t.out 2>&1 & done

これらをどれくらいの期間実行するかはわかりませんが、それらはすべて端末に関連付けられます。このように作成された後、プロセスを否認して、その端末を閉じた場合にそれらを存続させることができます

disown PID

于 2013-07-01T21:45:52.660 に答える