Tag: subprocess

节点subprocess清理

节点进程以require('child_process').spawn开始, require('child_process').spawn可以close并exit 。 我假设他们也可以在一些情况下永远挂起,而不会礼貌地告诉节点。 我如何确保我的Node应用程序始终清理其subprocess很好? 我知道kill可以用来“发送信号给subprocess”。 这听起来不像是一个保证,特别是因为文档说:“请注意,虽然函数被称为杀死,传递给subprocess的信号可能不会真正杀死它,杀死真的只是一个信号发送到一个进程。

如何使用child_process.exec从NodeJS调用Ruby时设置Ruby版本

我需要从node.js应用程序中运行ruby脚本。 该脚本需要Ruby 2.0,但是当我尝试运行脚本时,它仍然运行1.8并失败。 我努力了 child_process.exec("rvm use 2.0.0;ruby file.rb", {cwd: 'directory_name'}, function(err, stdout){ console.log(stdout) }); 但它不起作用。 有任何想法吗?

在控制台的Node中执行subprocess

我想要像git commit一样从Node运行一个命令。 我可以这样做: var exec = require("child_process").exec; exec("git commit", function(error, stderr, stdout) { // Do stuff }); 但是,它总是挂起。 我认为这是因为git commit想要控制台来打开vim / emacs或其他什么,但是Node不允许它。 有没有办法来解决这个问题?

在Node.js中的两个subprocess之间的pipe道?

我试图用Node.js使用FFmpeg捕捉video,并通过使用MediaSource API播放的websockets将其发送到浏览器。 到目前为止,我在Firefox中工作,但不能在Chrome中正确解码。 显然,从阅读这个问题我需要使用sample_muxer程序来确保每个“集群”以关键帧开始。 以下是我正在使用的代码: var ffmpeg = child_process.spawn("ffmpeg",[ "-y", "-r", "30", "-f","dshow", "-i","video=FFsource:audio=Stereo Mix (Realtek High Definition Audio)", "-vcodec", "libvpx", "-acodec", "libvorbis", "-threads", "0", "-b:v", "3300k", "-keyint_min", "150", "-g", "150", "-f", "webm", "-" // Output to STDOUT ]); ffmpeg.stdout.on('data', function(data) { //socket.send(data); // Just sending the FFmpeg clusters works with Firefox's // implementation of […]

有没有可能在linux上执行dotnet exe与node.jssubprocess?

我有一个EXE文件,是用dotnet创build的。 我有一个rhc服务器,在那里我想运行这个EXE,并捕捉它的oputput(与subprocess)。 但我有一个folowing错误: 不能执行二进制文件 我明白,这是不能在Linux上执行,但是有没有解决scheme来解决这个问题,而不重写exe​​,或更改操作系统? 有没有节点包,有什么可以解决这个? 非常感谢您的回答!

如何使用并行subprocess在大型数组上执行“工作”?

我有一大堆数字。 我想要使​​用JavaScript / Node.js来计算所有数字的总和。 (就这个问题而言,这是一个简单的总和;实际上我有一个更复杂和更冗长的math运算来执行)。 在单线程的世界中,计算总和需要很长时间。 为了更快速地处理结果,我一直在尝试将工作委托给多个并行运行的subprocess。 每个subprocess确定一个子数组的总和,并且在父进程中总计一切。 我的两个脚本如下: index.js function computeSum(data) { var start = new Date(); var sum = data.reduce(function(a, b) { return a + b; }); console.log("Sum = %s, Time = %s ms", sum, new Date().getTime() – start.getTime()); } function computeSumConcurrent(data) { var child_process = require("child_process"); var os = require("os"); var cpuCount […]

无法启动Selenium + PhantomJS / GhostDriver作为subprocess

我有一个Node脚本,我想使用child_process模块来获取运行PhantomJS的GhostDriver的Selenium服务器。 我需要模块: Child = require "child_process" 以下是我如何尝试启动服务器并将GD附加到它(在Coffeescript中): @Selenium = new Child.exec "java -jar selenium/selenium-server-standalone-2.44.0.jar -role hub -port 4444", (error, stdout, stderr) => console.log stdout console.log error if error @PhantomJS = new Child.exec "phantomjs –webdriver=8080 –webdriver-selenium-grid-hub=http://127.0.0.1:4444", (error, stdout, stderr) => console.log stdout console.log error if error @PhantomJS的stdout是这样的: PhantomJS is launching GhostDriver… [ERROR – 2014-12-10T18:51:27.587Z] GhostDriver – […]

使用pipe道字符| 与child_process产卵

我在树莓派上运行nodejs,我想运行一个subprocess来产生一个摄像头stream。 在节点之外,我的命令是: raspivid -n -mm matrix -w 320 -h 240 -fps 18 -g 100 -t 0 -b 5000000 -o – | ffmpeg -y -f h264 -i – -c:v copy -map 0:0 -f flv -rtmp_buffer 100 -rtmp_live live "rtmp://example.com/big/test" 随着child_process我必须打破每个争论 var args = ["-n", "-mm", "matrix", "-w", "320", "-h", "240", "-fps", "18", "-g", "100", "-t", "0", […]

将ffmpeg添加到heroku的buildback nodejs中

我一直在试图制作一个可以将音乐可视化的服务器( 这是我目前为止的 )。 这是成功的,但我想尝试,使其与YouTubevideo的工作,我已经find了很多github上的存储库的YouTubevideoaudio转换,使这个合理的可行,但为了部署一个服务器上heroku,可以以我想要的格式托pipeYouTubevideo的临时audio文件,我需要将ffmpeg包含在buildpack中,我不知道如何去做。 这是node.js的heroku buildpack,但我真的不明白它是如何工作的。 TL; DR :为了成功地将一个node.js服务器部署到heroku并运行此代码,在github上分发heroku-buildpack-nodejs存储库之后需要执行哪些步骤? var conversionProcess = child_process.spawn( 'ffmpeg', ['-i', 'some_youtube_audio.mp3', 'some_youtube_audio.webm'], { cwd: __dirname + '/tmp' } ); 顺便说一下,这个函数的文档在node.js API上 。

Node.jssubprocess限制

我知道节点是一个单线程系统,我想知道如果一个subprocess使用自己的线程或其父母。 比如说我有两个线程的amd E-350 cpu。 如果我运行了一个节点服务器,产生了10个连续工作的子实例。 它会允许还是会因为硬件本身不够用而失败?