答案1
在后台运行多个实例
socat
您可以使用一个命令在后台运行多个实例。
我使用sleep N
而不是socat ...N... ...N...
作为示例:
echo -n 1 2 3 | xargs -d ' ' -I% bash -c '(sleep % ; echo slept % ) &'
()
和部分echo slept %
只需要有一些示例输出,因此您的实际命令会更简单;%
将被 echo 后列出的端口之一替换:
echo -n 3392 3393 3394 | xargs -d ' ' -I% bash -c 'socat TCP4-LISTEN:%,fork TCP4:192.168.10.102:% &'
根据端口参数的数量N
,这也应该有效:
parallel -j N -i bash -c 'socat TCP4-LISTEN:{},fork TCP4:192.168.10.102:{}' -- 3392 3393 3394
答案2
尝试
socat TCP-LISTEN:8080,fork TCP:host1:8080|socat TCP-LISTEN:8081,fork TCP:host2:8082