![nc 和命名管道用于端口转发](https://linux22.com/image/1454840/nc%20%E5%92%8C%E5%91%BD%E5%90%8D%E7%AE%A1%E9%81%93%E7%94%A8%E4%BA%8E%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91.png)
我已经设置好环境来监听 8888 端口上的 jetty。但是在有限的时间内,我还必须监听 8889 端口。
我想使用命名管道和 nc 来实现这一点:
mkfifo pipe1
/bin/nc -l 8889 0<pipe1 | /bin/nc localhost 8888 1>pipe1
我注意到端口转发只会在一定时间内起作用,之后会返回提示。
为什么它只能工作一段时间?
有没有更好的端口转发机制可以使用?所有这些都在我的本地机器上运行,位于端口 8888 和 8889 之间。
这是在 Ubuntu 14.04 上。
答案1
EOF 可能会将其杀死。以下方法可能有帮助:
在netcat - 在 Debian 中继续监听连接提问者指出:
"There's -q -1 option to listen forever after EOF appears on stdin".
如果你想避免 EOF,请尝试如何防止终止命令将 EOF 发送到命名管道?