Tag: 无缓冲

node.js使用单独的stdout和stderrstream交互式产生一个subprocess

考虑下面的C程序(test.c): #include <stdio.h> int main() { printf("string out 1\n"); fprintf(stderr, "string err 1\n"); getchar(); printf("string out 2\n"); fprintf(stderr, "string err 2\n"); fclose(stdout); } 哪一个应该打印一行stdout,一行stderr,然后等待用户input,然后另一行stdout和另一行stderr。 非常基本! 在编译并在命令行上运行时,程序输出完成时(用户input为getchar()): $ ./test string out 1 string err 1 string out 2 string err 2 当试图用下面的代码使用nodejs产生这个程序作为subprocess时: var TEST_EXEC = './test'; var spawn = require('child_process').spawn; var test = spawn(TEST_EXEC); test.stdout.on('data', function […]