没有这样的设备或地址:'/ dev / stdout'

我使用execSync从节点内部执行python脚本,如下所示:

execSync('python myScript.py -o "/dev/stdout"'); 

我的脚本会将结果发送到在-o这个例子中指定的文件/dev/stdout

我得到错误信息“ 没有这样的设备或地址:'/ dev / stdout' ”。

如果我从terminal手动执行命令,它运行良好,但不是通过节点启动时。

我正在运行Ubuntu 12.04。

在终端中运行命令时, /dev/stdout将重定向到stdout 。 当你用execSync生成python进程时,没有地方可以将stdout重定向到。

如果你读了一下execsync页面,它描述了如何使用一个子进程的标准输出