我正在尝试通过网络界面netcat
来服务器一些命令结果,该界面保持运行。bash
该页面是动态的,需要在加载时更新。
只是我正在使用的一个例子:
#!/bin/bash
while true; do
{ echo -e 'HTTP/1.1 200 OK\r\n'; echo -e "Hello World"; } |
nc -k -l -p 8888
done
不幸的是,在网络浏览器中加载页面后,页面就挂起了。如果我进入 CLI 并终止当前的连接循环,该页面将立即加载。
这发生在两台服务器上,但在另一台服务器上运行得很好,所以我觉得很奇怪......
答案1
Debian 7u1 使用 netcat-traditional 安装 netcat,这似乎有它自己的一系列问题,我最初的问题就是其中之一。
通过运行
apt-get remove netcat-traditional
并安装正确的 netcat-traditional 来删除 netcat-traditional,apt-get install netcat-openbsd
一切正常!