【问题标题】:where to send daemon optional output so it's readable将守护进程可选输出发送到哪里,以便可读
【发布时间】:2015-06-15 00:58:18
【问题描述】:

我的守护进程有选项

-r WhereShouldIOutputAdditionalData 

daemon 正在侦听端口 26542 并在同一端口上写入,我也希望将其他数据输出到 26542,我尝试使用

-r /dev/tcp/127.0.0.1/26542

它不起作用,当我这样做时

> /dev/tcp/127.0.0.1/26542

连接被拒绝。我使用的守护程序:vowpal_wabbit,机器学习库。有什么想法吗?

【问题讨论】:

  • 当您说“在同一个端口上写入”时,您的意思是您可以连接到该端口以从守护程序获取输出,您现在希望将 -r 参数提供的任何“额外”信息发送到同一个端口(所以一个传入连接可以看到两个数据位)?

标签: bash sockets port vowpalwabbit


【解决方案1】:

很抱歉,您想要做的事情是不可能的,原因有两个:

首先,bash 无法侦听给定的 TCP 端口。 例如,您不能在普通 bash 中编写 TCP 服务器守护程序(您可以使用 netcat),您只能在 bash 中 connect() 到 TCP 端口。

另外,另一个进程不可能在同一个 TCP ip:port 上侦听已经处于 LISTEN 状态的端口。

【讨论】:

    【解决方案2】:

    根据

    的非官方手册页

    https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    我明白了

    -r [ --raw_predictions ] arg     File to output unnormalized predictions to
    

    所以我认为-r 参数需要一种/path/to/logs/raw_preds.log 参数。

    这样,您将“捕获可选输出,使其可读”。您可以打开一个单独的窗口并使用 dev/admins 老朋友tail -f /path/to/logs/raw_preds.log 查看写入文件的信息。

    如果您真的希望它全部出现在一个端口上(从您的问题中并不清楚),您需要一个可以多路复用输出的单独程序,并且可以控制您所需的端口号.此外,您还需要关注正确的输出顺序。

    IHTH。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 2015-09-07
      • 2023-03-05
      相关资源
      最近更新 更多