nohup
複数のテーブル名をパラメータとして、Unixでコマンドを使用して並列に実行されるjarファイルがあります。
nohup java -jar batchorch.jar $tablename &
すべてのjarファイルの状態を取得するには、次の行を使用します。
oldpid=$!
wait $oldpid
echo $?
jar
各ファイルは並列に実行されますが、状態を個別にどのように確認できますか?
ベストアンサー1
バックグラウンドプロセスを完了順に処理する方法がわかりません。
#!/bin/bash
declare -a bg_pids
ec=0
(sleep 10; exit "$ec") &
bg_pids+=($!)
((ec++))
(sleep 10; exit "$ec") &
bg_pids+=($!)
((ec++))
(sleep 10; exit "$ec") &
bg_pids+=($!)
((ec++))
for pid in "${bg_pids[@]}"; do
echo -n "PID ${pid}: "
wait -f "$pid"
echo $?
done
出力:
PID 29807: 0
PID 29808: 1
PID 29810: 2