jjzjj

spawning

全部标签

ruby - 将 spawn() 的标准输出/标准错误重定向到 Ruby 中的字符串

我想使用spawn(针对多个并发子进程)在Ruby中执行一个外部进程,并将标准输出或标准错误收集到一个字符串中,其方式类似于使用Python的子进程Popen.communicate()可以完成的操作。我尝试将:out/:err重定向到一个新的StringIO对象,但这会生成一个ArgumentError,并且临时重新定义$stdxxx会混淆子进程的输出。 最佳答案 如果你不喜欢popen,这是我的方法:r,w=IO.pipepid=Process.spawn(command,:out=>w,:err=>[:child,:out])

ruby-on-rails - Ruby 1.9.2 中的 Process.fork 和 Process.spawn 有什么区别

Ruby1.9.2中的Process.fork和新的Process.spawn方法有什么区别,哪个更适合在子进程中运行另一个程序?据我了解,Process.fork接受代码块,而Process.spawn接受系统命令和其他一些参数。什么时候应该使用一个而不是另一个? 最佳答案 What'sthedifferencebetweenProcess.forkandthenewProcess.spawnmethodsinRuby1.9.2Process.fork允许您在另一个进程中运行ruby​​代码。Process.spawn允许您在另一

javascript - Node.js:捕获 `child_process.spawn` 的 STDOUT

我需要在生成的子进程的自定义流输出中捕获。child_process.spawn(command[,args][,options])例如,vars=fs.createWriteStream('/tmp/test.txt');child_process.spawn('ifconfig',[],{stdio:[null,s,null]})现在如何实时读取/tmp/test.txt?看起来child_process.spawn没有使用stream.Writable.prototype.write也没有使用stream.Writable.prototype._write执行。例如,s.writ

javascript - 如何在 node.js 中清理 child_process.spawn() 上的子进程

以下代码:#!/usr/bin/envnode"usestrict";varchild_process=require('child_process');varx=child_process.spawn('sleep',[100],);thrownewError("failure");产生一个子进程并在不等待子进程退出的情况下退出。我怎么能等呢?我想调用waitpid(2),但child_process似乎没有waitpid(2)。添加:抱歉,我真正想要的是在父进程存在时终止子进程,而不是等待它。 最佳答案 #!/usr/bin/e

javascript - 当其中一个参数中有空格时,nodeJS child_process.spawn 不起作用

我正在尝试使用child_process.spawn函数。语法是child_process.spawn(command,args=[],[options])每当我在args数组的任何元素中包含一个空格时,命令都会简单地发出参数。这是我用来测试它的一些代码varspawn=require("child_process").spawnconsole.log("Thisworks");varwatcher=spawn("ls",["-l"]);watcher.stdout.on('data',function(data){process.stdout.write(data.toString(

javascript - node.js child_process.spawn 没有标准输出,除非 'inherit'

我正在尝试从node.js(0.10.29)中的spawnedchild_process捕获标准输出。现在我只是尝试使用ping以下代码不打印(但执行ping)varexec=require('child_process').exec;varspawn=require('child_process').spawn;varutil=require('util')varping=spawn('ping',['127.0.0.1'],{stdio:'pipe'});ping.stdout.on('data',function(data){util.print(data);})ping.std

node.js - 运行 grunt 时出现错误 : spawn ./node_modules/.bin/grunt ENOENT

我有一个由开始开发的项目yarn开始它运行一个启动grunt进程的index.js并得到这个错误:$yarnstartyarnstartv0.23.2$node./developmentgrunt_arguments['--force','--notify','--verbose','--debug','--stack']=======================================Openhttp://localhost:8000tostartdevelopingevents.js:141thrower;//Unhandled'error'event^Error:sp

c - 如何检查程序是否已在当前登录 session 期间执行? ( Windows )

在我正在开发的一个应用程序中(用C语言),在执行主应用程序之前必须先运行一个加载器应用程序。我已经做到了,因此主应用程序在启动时将加载器应用程序作为子应用程序运行,以便自动执行此任务。这一切都很好,除了加载器应用程序只需要在用户当前登录session期间运行一次以使主应用程序正常工作,并且每次主应用程序执行时都必须运行它是一个真正的痛。所以我要问的是:有没有办法检查加载程序是否已经使用某些Windows或C功能运行?理想情况下,这样的事情会很棒,虽然我不知道它是否可能:if(thisapp.exehasBeenExecuted)return;elsespawnl(app_path,ap

javascript - Node.js spawn/exec/execFile/win-spawn/cross-spawn 全部抛出错误 : spawn ENOENT

对于上下文,routes\index.js:87在我的exec周围(同步)或在我的exec内部(异步)。我在使用库child_process、win-spawn或cross-spawn的spawn、exec或execFile中遇到此错误。我试过运行node、npm、grunt、ant(Apache)等——它们都可以从命令行运行,没有任何问题——有参数和没有参数,有和没有选项,同步和异步,我总是得到这个确切的错误(同一行和同一列)。我昨天花了一整天的时间寻找解决方案,在这里和Github(Node)上找到了解决方案,尝试了我找到的所有东西,但没有解决问题。我会提供您认为有助于解决问题的任

node.js - Yeoman - Gulp spawn cmd enoent

在gulpyeoman-webapp'imwolf的帮助下。但它也在命令行上提供服务,我收到以下错误信息。你能帮助我吗?提前谢谢你。我从事Windows10和64位计算方面的工作。events.js:85thrower;//Unhandled'error'event^Error:spawncmdENOENTatexports._errnoException(util.js:746:11)atProcess.ChildProcess._handle.onexit(child_process.js:1053:32)atchild_process.js:1144:20atprocess._t