首页 > 解决方案 > 在 NodeJS 中捕获 shell 错误

问题描述

汇编程序出现一些错误通常会产生

illegal instruction (core dumped)

但是管道输出没有效果,因为它是一个 shell 错误。

./test > test.txt 仍然会产生输出。

将标准错误排除在外也没有效果。( ./test 2> test.txt)

如何在 NodeJS 的“spawn”中捕获该错误?

我的代码:

const cmd = spawn ( "./test" );
cmd.stderr.on ( ... ); //would not work

cmd.on ( "error", ... ); //would not work too

我发现在 NodeJS 中执行此操作的不是最好但最简单的方法是通过双重 eval 运行程序。

const cmd = spawn ( "eval", [ "eval ./test" ])

但是似乎应该有更好的方法来做到这一点

标签: node.jsshellerror-handling

解决方案


推荐阅读