1つのipは1回のプログラムを実行します


もしあなたが使うことができるip(対外ip)がたくさんあるとしたら、本機ipを変えてネットワーク接続を行ってプログラムを実行することができます. 
幸いなことに、私はローカルエリアネットワーク内にいますが、ローカルエリアネットワークの各ipは独立したipであり、ローカルエリアネットワークがipでプログラムを実行できることを検出することができます.
他のホストがpingをマスクする可能性があるため、arpを使用してipが他のホストに使用されていないかどうかを検出します.
次にbashスクリプトを示します
#!/bin/bash
keys="keywords.txt"
jar="google.jar" #      java  
net_pfx="xx.xx.xx" #   ip  
network=1
subip=1
if [ ! -f $key ]; then
	echo "$keys not exsist"
	exit 1
fi
if [ ! -f $jar ]; then
	echo "$jar not exsist"
	exit 1
fi
if [ `id -u` -ne 0 ]; then
	echo "must run by root"
	exit 2
fi
while read key
do
	while  arping -c1 -w2 -Ieth1 "$net_pfx$network.$subip" 
		|| grep "address $net_pfx$network.$subip" /etc/network/interfaces
	do
		let subip++
		if [ $subip -ge 254 ] ; then
 			if [ $ network -gt 3 ]; then 
				echo "all ips traversed"
				return 0
			fi		
			subip=1
			let network++
		fi
	done
  sed -i s/address.*/"address $net_pfx$network.$subip"/ /etc/network/interfaces
	sed -i s/gateway.*/"gateway $net_pfx$network.254"/ /etc/network/interfaces
	/etc/init.d/networking restart
	java -jar $jar "$key" 
done < $keys