バックグラウンドジョブが失敗した場合(シグナルSEGV、ABRT、KILL、INT ...など)、がバックグラウンドのときに通知する方法 linux bashスクリプト。バックグラウンドジョブが失敗したときにlinuxのbashスクリプトを停止する
set -e
foo &
foo_pid=$!
# Do tasks that requires that foo is running
wait $foo_pid
は機能しません。
set -e
foo &
foo_pid=$!
# If this script is killed, kill the `cp'.
trap "kill $foo_pid 2> /dev/null" EXIT
while kill -0 $foo_pid 2> /dev/null; do
# Do smth
...
sleep 1
done
これで、基本的にすべてのコマンドに対してプロセスが存在することを確認していますか?コマンドが存在することを要求するコマンドは、そのループでラップしますか? – user877329