私はスクリプトを書いていますが、それを行う方法を見つけることができない何かが必要です...
バックグラウンドでコマンド「command1&」を作成し、スクリプトのどこかでコマンドが終了するのを待ってからcommand2を実行する必要があります。基本的に、私はこれが必要です:
注:各コマンドは特定のディレクトリで実行されます!whileループの最後に、command1が4つのディレクトリを作成しました。それぞれが特定のプロセスを実行するため、実行中のプロセスの合計は4です。
a=1
while [$a -lt 4 ]
. command1
#Generates 1 Process
a= `export $a +1`
done
#Wait until the 4 process end and then run the command2
. command2
私はwait
pidプロセス番号を持つコマンドについて何かを見ましたが、それもうまくいきませんでした。
はい!私はすでにそれを持っています:)
—
ジョアンマカオ14
それに応じて回答を更新しました。それがあなたの予想と一致するかどうか教えてください。
—
ローランC. 14
このQはこの1に関連しているunix.stackexchange.com/questions/100801/...。唯一の違いは、バックグラウンドプロセスからPIDを取得する必要があることです。ここで示したように、
—
slm
$!
変数を使用してこれを取得し、wait
コマンドに渡すことができます。$!
最後のバックグラウンドPIDが$$
含まれ、最後のプロセス実行のPIDが含まれます。
さて、スクリプトはまったく意味をなしません。構文エラーと奇妙なことが至る所にあります。実際のスクリプトを見せていただけますか?なぜコマンドを調達するのですか?なぜそれらを実行しないのですか?
—
テルドン
command1
ますか?4つのプロセスのPIDを返すように変更できますか?