[英]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
,它将捕获stdout
和stderr
的全部输出,并立即将其提供给所有人。
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.