バックグラウンドプロセスを開始し、終了時点を確認してください。

バックグラウンドプロセスを開始し、終了時点を確認してください。

バックグラウンドでプロセスを起動し、bashスクリプトでプロセスが終了した時点を確認するには?私の考えは次のスクリプトです。

launch backgroundprocess &
while [ Process is running ];do
   echo "PROCESS IS RUNNING\r"
done;

echo "PROCESS TERMINATED"

答え1

鍵は「wait」コマンドです。

#!/bin/bash

/my/process &
/another/process &
wait
echo "All processes done!"

答え2

wait必要に応じて粒度を設定できます。

sleep 1 &
PID1=$!
sleep 2 &
PID2=$!

wait $PID1
echo 'PID1 has ended.'
wait
echo 'All background processes have exited.'

答え3

1つの方法は次のとおりです。

launch backgroundprocess &
PROC_ID=$!

while kill -0 "$PROC_ID" >/dev/null 2>&1; do
    echo "PROCESS IS RUNNING"
done
echo "PROCESS TERMINATED"
exit 0

答え4

nohup を使用してプロセスを実行し、nohup がロギングに使用する nohup.out ファイルを読み取るシェルスクリプトを作成できます。

  nohup command &

関連情報