nodejs的process模块如何获取其他进程的pid

var cmd=process.platform==‘win32‘?‘tasklist‘:‘ps aux‘;
var exec = require(‘child_process‘).exec;
var qqname=‘qq‘;
exec(cmd, function(err, stdout, stderr) {
    if(err){ return console.log(err); }
    stdout.split(‘\n‘).filter(function(line){
        var p=line.trim().split(/\s+/),pname=p[0],pid=p[1];
        if(pname.toLowerCase().indexOf(qqname)>=0 && parseInt(pid)){
            console.log(pname,pid);
        }
    });
});

这是win系统的,pid第二列,进程名第一列。如果unix系统,自行修改(pid在第一列,进程名在最后一列)

时间: 2024-10-15 22:53:22

nodejs的process模块如何获取其他进程的pid的相关文章

扫描系统进程和获取某进程的PID

扫描系统的所有进程 1 #include <stdio.h> 2 #include <windows.h> 3 #include <tlhelp32.h> 4 5 int scan() 6 { 7 HANDLE hprocessShap = NULL; 8 PROCESSENTRY32 pe32 = {0}; 9 hprocessShap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0); 10 11 if(hprocessSh

创建多进程之multiprocess包中的process模块

创建多进程之multiprocess包中的process模块 1.process模块是一个创建进程的模块 Process([group [, target [, name [, args [, kwargs]]]]]) 由该类实例化得到的对象,表示一个子进程中任务 强调: 需要使用关键字的方式来指定参数 args指定的为传给target函数的位置参数,是一个元组形式,必须有逗号 参数介绍: group参数未使用,值始终为None target表示调用对象,即子进程要执行的任务 args表示调用对

Node.js进程管理之Process模块

在前面Node.js事件运行机制也有提到,Node.js应用在单个线程运行,但是现在大部分服务器都是多处理器,为了方便使用多个进程,Node.js提供了3个模块.Process模块提供了访问正在运行的进程.child_process模块可以创建子进程,并与他们通信.cluster模块提供了实现共享相同端口的集群服务能力,允许多个请求同时处理. 一.Process模块是一个无须使用require()就可以从node.js应用程序进行访问的全局对象. 二.进程I/O管道 Process为进程stdi

[转]nodejs中的process模块--child_process.exec

1.process是一个全局进程,你可以直接通过process变量直接访问它. process实现了EventEmitter接口,exit方法会在当进程退出的时候执行.因为进程退出之后将不再执行事件循环,所有只有那些没有回调函数的代码才会被执行. 在下面例子中,setTimeout里面的语句是没有办法执行到的. 1 process.on('exit', function () { 2 setTimeout(function () { 3 console.log('This will not ru

nodejs之process进程

虽然node对操作系统做了很多抽象的工作,但是你还是可以直接和他交互,比如和系统中已经存在的进程进行交互,创建工作子进程.node是一个用于事件循环的线程,但是你可以在这个事件循环之外创建其他的进程(线程)参与工作. 进程模块 process模块允许你获得或者修改当前node进程的设置,不想其他的模块,process是一个全局进程(node主进程),你可以直接通过process变量直接访问它. process实现了EventEmitter接口,exit方法会在当进程退出的时候执行.因为进程退出之

python 进程Process模块(40)

进程Process是对各种资源管理的集合,包含对各种资源的调用.内存的管理.网络接口的调用:一个进程Process可以包含多个子进程,启动一个进程的时候会自动创建一个线程,进程里的第一个线程就是主线程(即python __name__ == ‘__main__’): 二.进程Process模块 对于线程操作可以用threading模块,那么对于进程的创建python同样也提供了Process模块,创建进程时需要导入该模块,语法如下: # 导入进程模块 from multiprocessing i

C# Process获取当前进程信息

1.获取当前进程信息整理 Process.GetCurrentProcess(),返回当前程序的进程对象. Process cur = Process.GetCurrentProcess(); //当前进程的id Console.WriteLine(cur.Id); //获取关联的进程的终端服务会话标识符. Console.WriteLine(cur.SessionId); //当前进程的名称 Console.WriteLine(cur.ProcessName); //当前进程的启动时间 Con

Android获取其他进程加载的模块基地址

获取目标进程模块(.so)加载地址是通过解析/proc/[pid]/maps得到的. 可以通过adb shell手动获取: ①. 首先通过ps命令查看进程的pid ②. cat /proc/[pid]/maps 使用程序实现如下代码: #include <stdio.h> int main(int argc, char* argv[]) { if (argc != 3) { printf("pid or soName error\r\n"); return 1; } pid

nodejs——网络编程模块

net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法.dgram模块用于UDP网络编程. 参考链接:https://nodejs.org/api/net.html, https://nodejs.org/api/dgram.html 一.TCP Server net模块通过net.createServer方法创建TCP服务器,通过net.connect方法创建客户端去连接服务器. 1.通过net模块创建一个TCP Server // server.js var