我试图在 node.js 中同步执行 child_process (是的,我知道这很糟糕,我有充分的理由)并检索 stdout 上的任何输出,但我不太清楚如何...
我发现这个帖子:Node.js同步执行系统命令 https://stackoverflow.com/questions/4443597/node-js-execute-system-command-synchronously它描述了如何使用库(node-ffi)来执行命令,这很好用,但我唯一能得到的是进程退出代码。命令执行的任何数据都会直接发送到标准输出 - 我如何捕获它?
> run('whoami')
username
0
换句话说,username
被回显到标准输出,结果是run
is 0
.
I'd much而是弄清楚如何读取标准输出
所以我有一个有效的解决方案,但并不完全喜欢它......只是在这里发布以供参考:
我正在使用node-ffi
其他 SO 帖子中引用的库。我有一个功能:
- 接受给定的命令
- appends
>> run-sync-output
- 执行它
- reads
run-sync-output
同步并存储结果
- 删除此 tmp 文件
- 返回结果
有一个明显的问题,如果用户没有当前目录的写访问权限,则会失败。另外,这只是浪费精力。 :-/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)