繁体   English   中英

捕获来自NodeJS的bash输出

[英]Capturing bash output from NodeJS

是否可以通过节点启动并继续捕获某个bash进程的输出? 例如:假设我运行了tail /some/file ,如何继续监听每行打印的新行并对输出采取行动?

var spawn = require('child_process').spawn,
    tail  = spawn('tail', ['-f', '/tmp/somefile']);
tail.stdout.pipe(process.stdout);

child_process模块​​有详细记录

为了完整起见,我也添加了此答案。

您可以使用child_process.spawn生成一个进程并监视其输出。 但是,对于诸如tail,cat等不会长时间运行或连续运行的命令,您可以使用child_process.exec ,它将捕获stdoutstderr的全部输出,并立即将其提供给所有人。

var cp = require("child_process");

cp.exec("tail /some/file", function (err, stdout, stderr) {
    // If an error occurred, err will contain that error object
    // The output for the command itself is held in stdout and stderr vars
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM