Emacs lisp 命令调用node hello.js:
(call-process "node" nil t nil "hello.js")
的两种变体hello.js:
hello_1.js:console.log('Hello world!');输出:
Hello world! 0hello_2.js:console.log('Hello world!'); process.exit(5);输出(日志语句没有输出!):
5
process.exit(5)导致输出被抑制的原因是什么?
笔记:
我在 MARVIN 上的 2013-03-17 的 GNU Emacs 24.3.1 (i386-mingw-nt5.1.2600) 中遇到了这个问题,结合Node.js v0.10.18在 Windows XP/SP3/32上运行。
我尝试EShell执行节点命令行:没有输出
process.exit()调用低电平process.reallyExit(),导致问题:没有输出process.reallyExit()在 C++ 中实现:void Exit(const FunctionCallbackInfo<Value>& args) { HandleScope scope(node_isolate); exit(args[0]->IntegerValue()); }[...]
NODE_SET_METHOD(process, "reallyExit", Exit);