擅长:python、mysql、java
<p>写入管道可以工作,但很危险,因为当您从管道中读取数据不够快时,您的命令(写入管道的命令)将阻塞。在</p>
<p>更好的解决方案是创建一个本地“日志服务器”,在套接字上发布stdin。现在,您可以将命令的输出通过管道发送到日志服务器,该服务器从stdin读取,并将输入的副本发送给任何连接到它的套接字的人。在</p>
<p>当没有人连接时,输出就会被忽略。在</p>
<p>编写这样一个“日志服务器”很简单(我想在Python中大约需要1h)。在</p>
<p>另一个好处是可以将日志文件的一部分保存在内存中(比如最后100行)。当您的命令崩溃时,您仍然可以从日志服务器获取最后的输出。在</p>
<p>要使其正常工作,您不能在stdin返回EOF时终止日志服务器。缺点是您需要自己清理过时的日志服务器。使用套接字时,可以从web应用程序向其发送“kill”命令。在</p>