#!/bin/bash # Attach to a Mininet host and run a command if [ -z $1 ]; then echo "usage: $0 host cmd [args...]" exit 1 else host=$1 fi pid=`ps ax | grep "mininet:$host$" | grep bash | awk '{print $1};'` if echo $pid | grep -q ' '; then echo "Error: found multiple mininet:$host processes" exit 2 fi if [ "$pid" == "" ]; then echo "Could not find Mininet host $host" exit 3 fi if [ -z $2 ]; then cmd='bash' else shift cmd=$* fi cgroup=/sys/fs/cgroup/cpu/$host if [ -d "$cgroup" ]; then cg="-g $host" fi exec sudo mnexec -a $pid $cg $cmd