Sim*_*nek 11
该函数使用stdio而不是Rprintf/ REprintf或warning这就是为什么R输出的重定向不起作用的原因.正确的解决方案是修复调用以libsvm改为使用R输出.
黑客stdio输出是可能的 - 你可以将输出重定向到你自己的管道并用它做你想做的事,但是a)它在C中有点工作,b)它很危险,因为你需要恢复标准行为之后你完成了这个功能 - 即使它出错了,c)如果在shell上使用,可能会与R输出交互.
如果你想要一个非常糟糕,又脏又快的解决方案,collect(parallel(..., silent=TRUE))[[1]]从中运行你的函数multicore- 它会抑制stdout(你可以添加,multicore:::closeStderr()如果你想抑制stderr).