nohupコマンドの正しい終了時間を取得するには?

nohupコマンドの正しい終了時間を取得するには?
#!/bin/sh

set -x

echo "Starting Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &

echo "Ending Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`

#!/bin/sh

set -x

echo "Starting Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &

echo "Ending Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`

上記のスクリプトは、同時https://xxx.xxxxxx.com/xxx/xxxx/new.jsp実行回数が70の20,000件の要求を送信します。コマンドの始まりと終わりを印刷したいですnohup。ただし、このコマンドを実行すると、スクリプトを起動した後とStarting Time同時にEnding Time印刷されます。

正しい終了時間を取得するには?

答え1

背景か前景か?

表示するコードが完全なコードの場合、実行中の理由がわからない場合は、そのnohup .. &コードを削除して2番目のエコーを入力するとabプログラムが終了します。

コードがフラグメントの場合は、wait2番目のエコーの前に使用してください。例えば

echo "Starting Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &
## some shell
wait
echo "Ending Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
  • マニュアルの待機を参照してくださいbash

関連情報