#!/bin/sh # # cleanup.sh # # Copyright 2005-2013 the Boeing Company. # See the LICENSE file included in this distribution. # # Removes leftover netgraph nodes and vimages from an emulation that # did not exit properly. # ngnodes="pipe eiface hub switch wlan" vimages=`vimage -l | fgrep -v " " | cut -d: -f 1 | sed s/\"//g` # shutdown netgraph nodes for ngn in $ngnodes do nodes=`ngctl list | grep $ngn | awk '{print $2}'` for n in $nodes do echo ngctl shutdown $n: ngctl shutdown $n: done done # kills processes and remove vimages for vimage in $vimages do procs=`vimage $vimage ps x | awk '{print $1}'` for proc in $procs do if [ $proc != "PID" ] then echo vimage $vimage kill $proc vimage $vimage kill $proc fi done loopback=`vimage $vimage ifconfig -a | head -n 1 | awk '{split($1,a,":"); print a[1]}'` if [ "$loopback" != "" ] then addrs=`ifconfig $loopback | grep inet | awk '{print $2}'` for addr in $addrs do echo vimage $vimage ifconfig $loopback $addr -alias vimage $vimage ifconfig $loopback $addr -alias if [ $? != 0 ] then vimage $vimage ifconfig $loopback inet6 $addr -alias fi done echo vimage $vimage ifconfig $loopback down vimage $vimage ifconfig $loopback down fi vimage $vimage kill -9 -1 2> /dev/null echo vimage -d $vimage vimage -d $vimage done # clean up temporary area rm -rf /tmp/pycore.*