Как позволить Rscript вести себя подобно другим программам linux, не генерируя ошибок при SIGPIPE? - PullRequest
0 голосов
/ 26 декабря 2018

Вот некоторые связанные обсуждения.Но я не думаю, что ответы имеют отношение к моему вопросу.

Psing Rscript выдает ошибку после вывода

Обычные команды linux работают очень хорошо при получении SIGPIPE

$ seq 10 |head -n 1
1

Но Rscript ведет себя иначе, как показано в приведенном выше URL-адресе обсуждения.Но у littler r такой проблемы нет.

Есть ли способ заставить Rscript использовать обработчик SIGPIPE по умолчанию, чтобы он работал аналогично другим программам linux?

Здесь упоминается, какустановить уровень С?Но есть ли способ установить это в коде R?Спасибо.

https://colinfay.me/writing-r-extensions/linking-guis-and-other-front-ends-to-r.html

Вы также можете рассмотреть способ обработки сигналов: R устанавливает обработчики сигналов для нескольких сигналов, включая SIGINT, SIGSEGV, SIGPIPE, SIGUSR1 и SIGUSR2,но все это можно подавить, установив для переменной R_SignalHandlers (объявленной в Rinterface.h) значение 0.

...