获取已经运行的进程的subprocessID

我正在调用一个外部程序(通过节点中的pty.js),当它运行时产生一个subprocess。 当父进程结束时,它会让孩子离开一段时间(孤儿)。 我可以得到父进程的id,但是想要得到产生的subprocess的id,所以当父进程退出的时候我可以把它杀掉。 我不相信在节点上有什么办法可以达到这个目的,那么C中有什么可以让你知道一个孩子的ID,只知道父母的ID。 到目前为止,我发现的一切都是从fork()获取子id,但fork是在外部程序中发生的。 另外,我想我可以打电话给ps或pstree /类似的东西,parsing输出,但感觉就像一个黑客。 编辑 这不是很好,但我已经拿出这个到目前为止: #include <limits.h> #include <stdio.h> int main(int argc, char *argv[]) { int id = atoi(argv[1]); int i; for(i = 0; i < INT_MAX; i++) { if(i != id && getpgid(i) == id) { printf("Process %d, is a child of %d", i, id); break; } } }

在基本Http Auth Express.js之后redirect

我想在我的php项目中使用express.js(如.htaccess和.htpasswd)来访问应用程序。 我正在使用http-auth 这是我的代码: app.get('/', function(req, res) { basic.apply(req, res, function(username) { res.redirect(routes.index); }); }); 问题是我得到一个错误: 500 TypeError:Object function(req,res){res.render('index',{title:'Express'}); }没有方法'indexOf' 没有authentication, app.get('/', routes.index); 工作没有任何麻烦。 我想要一个中间件来读取我的索引,然后使用res.send()…可能会工作吗? 或者我错过了什么?

从Node.js插入文件到MongoDB时出错

我正尝试从node.js连接到mongoDB并将一个文件(“函数”)上传到MongoDB。 有人可以请validation我的代码是什么问题。 当我运行js文件,我得到以下错误:错误:无法find模块'mongodb'在Function.Module._resolveFilename(module.js:338:15)在Function.Module._load(module.js:280:25 ) 代码如下: var mongodb = require('mongodb'); var url = require('url'); var log = console.log; var currentTimeStamp = new Date(); var file = require (__dirname + '/functions'); mongodb.MongoClient.connect('mongodb://phx8b03c-fb1d-6.stratus.phx.ebay.com,phx8b03c-316d-6.stratus.phx.ebay.com,phx8b03c-9564-6.stratus.phx.ebay.com', function (err, client) { if (err) throw err; client.createCollection('lbTopology' , function (err, collection) { if (err) throw err; collection.insert(file, 'lbTopology' , function (err) { if […]

插入一张可直接回复的卡片

更新!重要:API已经改变了很多,这个问题不应该再考虑到了 我正在尝试使用REST api(通过Node.js API )来创build用户可以响应的卡片,并以这种方式创build交互。 阅读文档的creator属性是不是真的在任何地方指定,所以我不知道如何插入。 此外这个video没有帮助。 也没有这个指南 =) 我相信有一个URL我应该设置为callback不知何故? 我想知道如何得到这些答复,请。 更新 这是我发送的卡。 { bundleId: 'veryuniqueBundle', id: 'veryuniqueBundle:reply', text: "want to hear moar?", menuItems: [ {action: "REPLY"} ] } 这是我得到的回应: { "collection": "timeline", "itemId": "119c4dc8-c0ce-4a83-aa76-41aab4e8dbe1", "operation": "INSERT", "verifyToken": "42", "userToken": "id:520ef63cde31145deb000001", "userActions": [ { "type": "REPLY" } ] } 问题是,我看不到用户的回应 (一个文本)和对原始卡ID (或捆绑)的反应。 我怎样才能得到这些

如何摆脱对象#<对象>没有方法“推”错误?

嗨,我想推动数据到JSON对象,其中已经定义了键,但我仍然没有被捕获typeError在线,我有警报(“3”)和警报(“6”) server.on('update_message_from_server', function(data){ if(data.message_to!=false){ alert("1"); if(data.message_from==<?php echo $session_user_id;?>){ alert("2"); if(message_store.hasOwnProperty(data.message_to_email)){ alert("3"); message_store[data.message_to_email].push((data)); str2 = '<div id ="recent_message_log_entry'+data.message_to_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $(document.getElementById("recent_message_log_entry"+data.message_to_email)).replaceWith(str2); }else{ alert("4"); message_store[data.message_to_email]= new Array(); message_store[data.message_to_email]=data; string = '<div><div>'+data.message_to_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $("#new_updates").append(string); } }else{ alert("5"); if(message_store.hasOwnProperty(data.message_from_email)){ alert("6"); message_store[data.message_from_email].push((data)); str2 = '<div id ="recent_message_log_entry'+data.message_from_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $(document.getElementById("recent_message_log_entry"+data.message_from_email)).replaceWith(str2); }else{ alert("7"); message_store[data.message_from_email]= new Array(); message_store[data.message_from_email]=data; string = '<div><div>'+data.message_from_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $("#new_updates").append(string); } } }else{ alert("8"); alert("Email […]

这是在node.js中编写asynchronous代码的正确方法吗?

我正在尝试让一些node.js代码弄脏我的手。 我理解事件和callback以及asynchronous技术的理论,但这并不意味着以“正确的方式”真正地生成代码是很容易的。 以下是我的(reallife)中间件的例子。 一个简单的HTTP服务器侦听请求并进行/get ,它会查询我们的后端,并将数据从那里提交给客户端。 var http = require('http') var https = require('https') var url = require('url') var backendOptions = { port: 1414, hostname: 'data.backend.com', path: '/bulk', auth: 'user:$ecret' } var backendGet = function(callback) { https.get(backendOptions, function(res) { var content = '' res.on('data', function(chunk) { content += chunk }) res.on('end', function() { callback(content) }) }) […]

为视图asynchronous分配一个值

我只是启动节点,并尝试习惯asynchronous行为,但我有一个问题,当涉及到渲染视图分配一个值。 代码库非常简单: 在一个自定义模块中: var fs = require('fs') exports.drawCard = function (color, callback) { fs.readFile(color, 'utf-8', function(err, data) { if (err) { callback(err); return } var card = sample(data.split(/\n/)) callback(err, card) }) } 在路由文件中: exports.index = function(req, res){ var deck = require('./../deck.js') console.log(newCard) res.render('index', { title: 'Bits AH', //This is what I would like card: deck.drawCard("green") […]

从login开始,从自动删除MongoDB

我通过osx狮子的家酿来安装MongoDB,但由于某种原因,login时它会自动启动。 >:mongod Mon Aug 12 20:35:31.270 [initandlisten] MongoDB starting : pid=52473 port=27017 dbpath=/usr/local/var/mongodb 64-bit host=Mah-iMac.local Mon Aug 12 20:35:31.270 [initandlisten] db version v2.4.5 Mon Aug 12 20:35:31.270 [initandlisten] git version: a2ddc68ba7c9cee17bfe69ed840383ec3506602b Mon Aug 12 20:35:31.270 [initandlisten] build info: Darwin bs-osx-106-x86-64-2.10gen.cc 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49 Mon […]

我们将如何知道服务器端是否仍然使用Nodejs WebRTC连接对端

我正在使用WebRTC制作audio,video和聊天应用程序。 如何在服务器端,我们可以检查对方是否仍然连接。 实际上,我想在进行audio/video通话之前检查另一个用户端是否仍然连接。 当用户login或注销应用程序时,我可以维护在线(即联机/脱机)。 假设networking连接断开或断开,我无法在服务器端获得任何信息。 如果我能得到,那么我可以与其他连接的同伴进行交stream。 所以,如果对方仍然连接,需要帮助如何获取信息。 我在我的应用程序中使用Nodejs和WebRTC。

由node.js返回的Cassandra地图集合Helenus看起来很奇怪

我有一个Cassandra中的CQL3表,如下所示: CREATE TABLE table ( usr text, box text, uidseq map<bigint, text>, PRIMARY KEY (usr, box) ) 我在cqlsh中查询如下所示: select uidseq from table WHERE usr = 'usr' AND box = 'box'; uidseq —————— {1: 'a', 2: 'a'} 看起来不错,直到我运行相同的查询通过Helenus包node.js和JSON.stringify'd返回的结果值,并得到它回来: [0,2,0,8,0,0,0,0,0,0,0,1,0,1,97,0,8,0,0,0,0,0,0,0,2,0,1,97] 我testing了Helenus返回的价值,它作为一个对象返回,所以我不确定我在这里出了什么问题?