未加星标

Starting couchdb from node.js via exec or spawn

字体大小 | |
[数据库(综合) 所属分类 数据库(综合) | 发布者 店小二03 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏

I'm attempting to start couchdb from node.js if it hasn't already been started. Code like the following works for basic commands like pwd but not for couchdb :

var sys = require('util') var exec = require('child_process').exec; var child; // executes `pwd` child = exec("pwd", function (error, stdout, stderr) { sys.print('stdout: ' + stdout); sys.print('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } });

I've tried using ' couchdb ' & ' /usr/local/bin/couchdb ' as arguments to exec.

Problem courtesy of: james_womack

Solution

I have a working example now using CoffeeScript:

childproc = require "child_process" couchdb = childproc.spawn "couchdb" couchdb.stdout.setEncoding "utf8" buffer = "" couchdb.stdout.on "data", (data) -> lines = (buffer + data).split(/\r?\n/) buffer = lines.pop() lines.forEach (line, index) -> console.log line couchdb.stdout.on "end", -> if buffer.length > 0 console.log buffer buffer = "" console.log 'process ended'

See my gist for a fuller example in CS, Iced CS & JS

EDITHere is the ouput in javascript:

var buffer, childproc, couchdb; childproc = require("child_process"); couchdb = childproc.spawn("couchdb"); couchdb.stdout.setEncoding("utf8"); buffer = ""; couchdb.stdout.on("data", function(data) { var lines; lines = (buffer + data).split(/\r?\n/); buffer = lines.pop(); return lines.forEach(function(line, index) { return console.log(line); }); }); couchdb.stdout.on("end", function() { if (buffer.length > 0) { console.log(buffer); buffer = ""; } return console.log('process ended'); });

Solution courtesy of: james_womack

本文数据库(综合)相关术语:系统安全软件

tags: couchdb,buffer,stdout,lines,console,log,data,exec,childproc,child,gt,var,process,require,error
分页:12
转载请注明
本文标题:Starting couchdb from node.js via exec or spawn
本站链接:https://www.codesec.net/view/584849.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(综合) | 评论(0) | 阅读(107)