make test: properly handle ctrl-c
Change-Id: Iab88886ebc1582626813777ea45ce97fc8e36443 Signed-off-by: Klement Sekera <ksekera@cisco.com>
This commit is contained in:

committed by
Dave Wallace

parent
3214dc3823
commit
db4e84cf2f
38
test/scripts/run_in_venv_with_cleanup.sh
Executable file
38
test/scripts/run_in_venv_with_cleanup.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
rv=0
|
||||
|
||||
atexit() {
|
||||
group_id=`ps -p $$ -o pgid=`
|
||||
my_id=$$
|
||||
ids=`pgrep -g $group_id -d ' ' | sed "s/\b$my_id\b//g"`
|
||||
echo "Killing possible remaining process IDs: $ids"
|
||||
for id in $ids
|
||||
do
|
||||
if ps -p $id > /dev/null
|
||||
then
|
||||
kill -9 $id
|
||||
fi
|
||||
done
|
||||
exit $rv
|
||||
}
|
||||
|
||||
trap "atexit;" SIGINT SIGTERM
|
||||
|
||||
FORCE_FOREGROUND=$1
|
||||
shift
|
||||
|
||||
source $1
|
||||
shift
|
||||
|
||||
if [[ "${FORCE_FOREGROUND}" == "1" ]]
|
||||
then
|
||||
$*
|
||||
else
|
||||
$* &
|
||||
wait
|
||||
fi
|
||||
|
||||
rv=$?
|
||||
atexit
|
||||
exit $rv
|
Reference in New Issue
Block a user