Tag: linux

node.js(meteor.js),多核程序使用(多进程)

我知道这里有这么多的多核线程,但我想清除这个简单的主题。 如果我在单个linux机器上运行了很多node.js或meteor.js项目,每个进程都自动使用每个内核? ig如果在4核心机器上运行3个进程,每个进程将在每个核心上运行? 我确定这个工作计划是由OS正常运行,但我不知道如何直观地看到这个运行状态。 因为如果操作系统将两个或三个进程分配给单核,那将浪费资源。 (PS请注意一些方法来检查这个CPU使用状态(不是性能)) 谢谢。

在linux上使用nightwatch运行seleniumtesting

我有一个Linux的盒子,我正在试图运行seleniumtesting(写在夜间)。 我在http://chromedriver.storage.googleapis.com/index.html?path=2.9/(linuxx64位之一)上安装了chromedriver 我也安装了独立的seleniumjar 我运行以下命令 DISPLAY=:1 xvfb-run java -jar lib/selenium-server-standalone-2.52.0.jar -Dwebdriver.chrome.driver=lib/chromedriver 这是我的守夜configuration: { "src_folders": [ "tests" ], "output_folder": "reports", "custom_commands_path": "custom_commands", "custom_assertions_path": "", "page_objects_path": "", "live_output" : true, "globals_path": "globals.js", "selenium": { "start_process": true, "server_path": "lib/selenium-server-standalone-2.52.0.jar", "log_path": "", "host": "127.0.0.1", "port": 4444, "cli_args": { "webdriver.chrome.driver": "lib/chromedriver", "webdriver.chromeJenkins.driver": "../../tools/chromedriver/chromedriver", "webdriver.ie.driver": "lib/IEDriverServer_x64_2.52.2.exe", "trustAllSSLCertificates": true } }, "test_workers": { […]

node.js与Linux上的下划线错误:找不到模块“下划线”

我在ec2上使用亚马逊linux。 使用nvm安装节点v4.4.5并运行我的脚本,我有这个错误: Error: Cannot find module 'underscore' 我试图npm install underscore –save和npm install underscore -g 。 它只是没有工作。 我不知道为什么是错的。 有人可以帮忙吗? server-0(err):在Function.Module._load(module.js:276:25)server-0(err):在Function._load(/home/ec2-user/.nvm/versions/node/v4。 server / 0(err):at Module.require(module.js:353:17)server-0(err):at(在/etc/rc.lib/modules/pm2/model/modules/pmx/lib/proxy.js:62:21) require(internal / module.js:12:17)server-0(err): 在对象。 (/var/server/routes/v1/auth.js:6:11)server-0(err):在Module._compile(module.js:409:26)server-0(err): 在Object.Module._extensions..js(module.js:416:10)server-0(err): 在Module.load(module.js:343:32)服务器0(错误):在Function.Module._load(module.js:300:12)服务器0(错误):错误:找不到模块'下划线' server-0(err):在Function.Module._resolveFilename(module.js:325:15)server-0(err): 在Function.Module._load(module.js:276:25)server-0(err):at Function._load(/home/ec2-user/.nvm/versions/node/v4.4.5/lib/node_modules/pm2在module.require(module.js:353:17)server-0(err):at require(internal / module.js :12:17)server-0(err): 在对象。 (/var/server/routes/v1/auth.js:6:11)server-0(err):在Module._compile(module.js:409:26)server-0(err): 在Object.Module._extensions..js(module.js:416:10)server-0(err): 在Module.load(module.js:343:32)server-0(err):在Function.Module._load(module.js:300:12)

当pipe道到标准输出时,nodejs fifo工作,但当pipe道到文件时不工作

我正在玩节点和fifos,正在得到一些我无法解释的怪异行为。 基本上,我使用spawn创build一个fifo,创build一个写入到该FIFO的stream,将数据传输到写入stream,并产生一个从fifo读取的cat命令。 如果我然后将cat命令的结果传递给标准输出,但是如果将它们传输到另一个文件则不起作用。 请参阅下面的代码 注意:这种行为只有在写入足够的数据来写入缓冲区时才会出现 var fs = require('fs'), stream = require('stream'); // create read stream var rs = fs.createReadStream('testinput') var spawn = require('child_process').spawn; // create fifo var fifo = spawn('mkfifo', ['testfifo']); fifo.on('exit', function() { // when fifo is created, proceed // create outfile and attach fifostream var ws = fs.createWriteStream('testoutput') var fifows = fs.createWriteStream('testfifo'); […]

如何将陷阱消息从Linux发送到本地计算机上的snmp代理?

我无法find互联网上的任何解决scheme,所以我决定发布我的问题在stackoverflow,我有一个程序在Linux服务器上,当我执行它应该发送陷阱消息到我本地的snmp代理。 我将主机名设置为我的系统IP地址,所以我看到所有的日志都从程序打印,但没有sedning陷阱到我的本地snmp代理任何想法我怎么能使它在这种情况下工作? app.js var snmp = require("net-snmp"); var msg = require('./event.js'); function process (msg) { var host = msg.event.body.trapHost; var snmpVersion = snmp.Version1; if (msg.event.body.snmpVersion === "v2"){ snmpVersion = snmp.Version2c } var sessionOptions = { port: 161, retries: 1, timeout: 5000, transport: "udp4", trapPort: msg.event.body.trapPort, version: snmpVersion }; //Create snmp Session var session = snmp.createSession(host,"public",sessionOptions); […]

父进程被终止时,Nodejs分离的subprocess被终止

我在Linux上,我使用节点进程来产生一个运行bash脚本的subprocess。 bash脚本进行远程升级。 进行dist-upgrade杀死节点,杀死父进程,而且杀死自己的升级。 根据nodejs文档,如果父进程退出,subprocess可以继续运行,如果subprocess已经产生detached标志。 如果我运行这个代码: const child_process = require("child_process"); child_process.spawn('xterm', [], { detached: true, stdio: ['ignore','ignore','ignore'] }).unref(); 当我在webstorm中杀死父进程,subprocess(xterm窗口)也退出…当我杀死父母使用kill -9/15/…subprocess继续运行。 所以看起来有些方法如果分离,仍然可以杀死subprocess。 但是我不知道究竟什么时候,为什么以及如何避免呢?

语法错误“(”在Linux Debian中启动Nodejs全局包时

我正在使用pm2, 安装它通过npm install pm2 -g但是当我在terminal键入pm2 它说的语法错误“(” root@beaglebone:/home/IXD/nodeProject/servertest# node-v4.4.7-linux-x86/bin/node: 1: /home/IXD/node-v4.4.7-linux-x86/bin/node: Syntax error: "(" unexpected 我发现每个nodejs全局包都会导致这个错误 例如:forever nodemon pm2 …等 但在Windows7中,它工作正常。

用node.js和node-record-lpcm16录制16位WAVEaudio

我使用的系统是一个名为Raspbian(基于Debian的)的Linux发行版。 我试图用node-record-lpcm16录制一个.wavaudio文件。 它开始录制,但一旦启动完成。 结束时间是56ms。 因此test.wav结果为空。 我不明白为什么它不工作,因为没有发生错误。 你有什么主意吗? 谢谢!

pipe道hexdump输出到节点js程序

我正在使用Yoctoo 3.10工作在一个Intel Edison上,我在/ dev / hidraw0上有一个条形码扫描器,并且我想使用输出的准确行来输出hexdump /dev/hidraw0作为写入节点的程序的inputJS。 节点js程序如下: var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false }); rl.on('line', function(line){ console.log(line); }) 我曾尝试通常pipe道: hexdump /dev/hidraw0 | node program.js 但是我什么也得不到,我认为这与hexdump不写\ n这样的事实有关,所以缓冲区不写它的内容。 我也尝试打开/ dev / hidraw0作为一个文件,如下所示: var fs = require('fs'); fs.open('/dev/hidraw0', 'r', function(status, fd) { if (status) { console.log(status.message); return; } var […]

Dtrace没有收集NodeJS的任何数据

我试图用Dtrace来分析NodeJS,但是它没有正常工作。 我正在使用的命令是: dtrace -n 'profile-97/execname == "node" && arg1/{@[jstack(150, 8000)] = count(); } tick-60s { exit(0); }' > stacks.out 我得到的输出是: CPU ID FUNCTION:NAME 0 312432 :tick-30s 如果我做dtrace -l然后我得到例如: 58814 instr kernel setup_APIC_eilvt-jne 0xffffffff81045e27 58815 instr kernel setup_APIC_eilvt-je 0xffffffff81045e34 58816 instr kernel setup_APIC_eilvt-je 0xffffffff81045e38 58817 instr kernel setup_APIC_eilvt-callr 0xffffffff81045e46 58818 instr kernel setup_APIC_eilvt-callr 0xffffffff81045e6a 58819 instr […]