From 647053e973bd3c4f7f6deb04fb2df9becd19f4c9 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Mon, 30 Jul 2018 14:29:34 -0700 Subject: [PATCH] Terminate child process when main script is interrupted --- multinode-demo/drone.sh | 7 +++++-- multinode-demo/leader.sh | 6 ++++-- multinode-demo/validator.sh | 6 ++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/multinode-demo/drone.sh b/multinode-demo/drone.sh index 2b603978d..3d811aee3 100755 --- a/multinode-demo/drone.sh +++ b/multinode-demo/drone.sh @@ -36,7 +36,10 @@ set -ex mkdir -p "$SOLANA_CONFIG_DIR" $rsync -vPz "$rsync_leader_url"/config/leader.json "$SOLANA_CONFIG_DIR"/ -set -o pipefail + +trap 'kill "$pid" && wait "$pid"' INT TERM $solana_drone \ -l "$SOLANA_CONFIG_DIR"/leader.json -k "$SOLANA_CONFIG_PRIVATE_DIR"/mint.json \ -2>&1 | $drone_logger + > >($drone_logger) 2>&1 & +pid=$! +wait "$pid" diff --git a/multinode-demo/leader.sh b/multinode-demo/leader.sh index 30ea684ac..f58ac643d 100755 --- a/multinode-demo/leader.sh +++ b/multinode-demo/leader.sh @@ -25,8 +25,10 @@ fi tune_networking -set -xo pipefail +trap 'kill "$pid" && wait "$pid"' INT TERM $program \ --identity "$SOLANA_CONFIG_DIR"/leader.json \ --ledger "$SOLANA_CONFIG_DIR"/ledger.log \ -2>&1 | $leader_logger + > >($leader_logger) 2>&1 & +pid=$! +wait "$pid" diff --git a/multinode-demo/validator.sh b/multinode-demo/validator.sh index 2941ee0a3..cb6810f0e 100755 --- a/multinode-demo/validator.sh +++ b/multinode-demo/validator.sh @@ -84,9 +84,11 @@ while ! $solana_wallet \ sleep 1 done -set -o pipefail +trap 'kill "$pid" && wait "$pid"' INT TERM $program \ --identity "$SOLANA_CONFIG_DIR"/validator.json \ --testnet "$leader_address:$leader_port" \ --ledger "$SOLANA_LEADER_CONFIG_DIR"/ledger.log \ -2>&1 | $validator_logger + > >($validator_logger) 2>&1 & +pid=$! +wait "$pid"