问题标签 [sigpipe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
124 浏览

r - 如何避免运行 R 脚本的 Docker 容器在 SIGPIPE 错误后停止?

我有一个 Docker 容器在 AWS 上“成功”运行 R 脚本(即脚本已完成),但返回以下错误:

这是 R 脚本(在我缩小了问题发生的范围后策划):

和 Dockerfile

这是日志文件的最后一行(来自journalctl -u docker.service

我无法从上面的日志中发现任何有用的东西。然而,这似乎与内存有关,因为如果我将数据帧的大小减少到 1000 行,则不会发生SIGPIPE/执行停止(输入上的数据帧相当大:~45M 行/3 列) . 可能是由于数据帧的大尺寸因此导致 SIGPIPE 问题,在脚本结束之前日志记录无法跟上。只是一个猜测......而且我不知道如何解决这个问题。

06/07 更新:我应该提到上面的 R 脚本本身运行良好(即在 docker 容器之外)。

任何帮助将非常感激。

0 投票
1 回答
64 浏览

c - 如何终止 SIGPIPE 上的进程?

我有一个使用 IPv4 的服务器程序。服务器必须参加来自客户端的多次调用,因此它每次接受客户端套接字连接时都会创建一个子进程来处理客户端。

子进程应从客户端读取,然后写入客户端套接字。如果它收到一个 SIGPIPE(来自一个在写入之前关闭的坏客户端),它应该在孩子的工作完成时终止。我是明确声明一个信号处理程序还是 SIGPIPE 默认终止它?我是初学者,所以请接受我的无知。

0 投票
2 回答
25 浏览

python - 当读卡器被强行杀死(kill -9)时是否收到 SIGPIPE 信号?

我使用 C 和 python 程序创建了一个 fifo。fifo 是在 C 程序中创建的,它执行读取操作,而写入是在 Python 中完成的。我的问题如下:

  1. 如果我的读者(C 程序)被强行杀死,我的作者会继续写信给 fifo。我该如何处理这个问题,以便在读者被杀时作者退出?
  2. 当读者被杀死时,作者是否收到了 SIGPIPE 信号?