3 # Thierry Parmentelat <thierry.parmentelat@inria.fr>
4 # Copyright (C) 2010 INRIA
8 THISNODE=$(basename $(pwd -P) | sed -e s,qemu-,,)
11 # somehow qemu-system-x86_64 show up in pgrep as qemu-system-x86
12 COMMANDS_TO_KILL="qemu qemu-system-x86_64 qemu-system-x86 qemu-kvm"
15 echo "Usage: $COMMAND -l"
16 echo " lists current qemu processes"
17 echo "usage: $COMMAND hostname"
18 echo " kill qemu instance for that node"
19 echo "usage: $COMMAND this"
20 echo " kill qemu instance that was started in this directory"
21 echo "usage: $COMMAND"
22 echo " kill all instances of [$COMMANDS_TO_KILL]"
26 function list_pids () {
28 if [[ -n "$hostnames" ]] ; then
29 for hostname in $hostnames; do
30 [ $hostname == this ] && hostname=$THISNODE
31 nodedir=qemu-$hostname
32 cat $nodedir/qemu.pid 2> /dev/null
35 for command in $COMMANDS_TO_KILL; do
41 function kill_from_file () {
43 if [ -f $file ] ; then
49 echo "Could not find file $file - that qemu was killed already"
53 function kill_pids () {
55 if [[ -n "$hostnames" ]] ; then
56 for hostname in $hostnames; do
57 [ $hostname == this ] && hostname=$THISNODE
58 nodedir=qemu-$hostname
59 kill_from_file $nodedir/qemu.pid
63 if [ -n "$pids" ] ; then
64 echo "Killing all processes matching $COMMANDS_TO_KILL"
70 echo "No process found that match $COMMANDS_TO_KILL"
75 function show_pids () {
76 pids=$(list_pids "$@")
77 if [ -n "$pids" ] ; then
78 ps $pids | grep -v $COMMAND || echo Nothing to show
85 while getopts "lk" opt; do
94 if [ -n "$OPT_LIST" ] ; then