UNPKG

node-webkit-sudo

Version:
35 lines (27 loc) 720 B
var exec = require("child_process").exec; module.exports = pidof; function pidof(cmd, callback) { exec("ps -eo pid,comm", function (err, stdout, stderr) { if (err) { callback(err); } else { var pid = pidof.parse(stdout, cmd); callback(null, pid); } }); }; pidof.parse = function (data, cmd) { var cmdRe = new RegExp('/' + cmd + '$'); var lines = data.trim().split("\n"); var pidlist = []; for (var i = 0, l = lines.length; i < l; i++) { var fields = lines[i].trim().split(/\s+/, 2); if (fields.length !== 2) { continue; } if (fields[1] === cmd || fields[1].match(cmdRe)) { pidlist.push(parseInt(fields[0], 10)); } } return pidlist; };