c - Linux:stdout 和 stderr 到套接字

标签 c linux sockets console

我想将 stdout 和 stderr 重定向到一个套接字,然后我可以使用它通过以太网远程监控我的应用程序的状态。目前,我通过使用 ssh 并在 shell 控制台中观察输出来完成此操作。如果可能的话,我宁愿删除中间人,只将整个 stdout 和 stderr 输出发送到 udp 或 tcp/ip 端口,并让我的监控计算机连接到它。

我无法使用 UART 或任何其他有线连接。它必须是以太网。此外,如果可能的话,我想通过 bash 脚本来完成此操作,以避免必须重建我的应用程序。

感谢您的帮助。

最佳答案

按照您的描述方式,听起来您要么需要现有应用程序打开被动套接字并等待连接,要么必须将您的应用程序包装在设置监听套接字的东西中。 This post表明这在 Bash 中是不可能的,但是它确实显示了使用 netcat 或 perl 从命令行执行此操作的方法。例如,你可以用 netcat 做这样的事情:nc -l -p <port> -c "tail -F /var/log/blah"

关于c - Linux:stdout 和 stderr 到套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22494717/

相关文章:

计算整数中空格和单词的数量

c - Linux 中的 malloc 错误,相同的代码在 Mac OS X 上运行良好

linux - 更改 gpio 值时通知

Java URL 问题?

c - 即使有有效的 IP,gethostbyaddr 也会返回 NULL

c - 如何检查变量是否为整数类型

java - 在C++中获取控制台信息

linux - 如何grep美元符号($)?

java socket对象内存泄漏

c - 无法将库链接到目标?