首页>>前端>>Node->通过node.js子进程方式获取被占用端口的pid和应用名称

通过node.js子进程方式获取被占用端口的pid和应用名称

时间:2023-11-29 本站 点击:0

通过 nodejs 子进程方式获取 被占用端口的 pid 和应用名称,同时区分环境 windows 和 mac。

提供给用户 pId 和 pName 让用户自己决定是 kill 进程 还是 提示使用者什么应用占用了端口。

const{execSync}=window.require('child_process');constos=window.require('os');constplatform=os.platform();constGetProcessInfo=(port)=>newPromise((resolve,reject)=>{if(platform==='win32'){constorder=`netstat-aon|findstr${port}`;try{conststdout=execSync(order);constportInfo=stdout.toString().trim().split(/\s+/);constpId=portInfo[portInfo.length-1];constprocessStdout=execSync(`tasklist|findstr${pId}`);const[pName]=processStdout.toString().trim().split(/\s+/);resolve({pId,pName,});}catch(error){reject(error);}}else{constorder=`lsof-i:${port}`;try{conststdout=execSync(order);const[pName,pId]=stdout.toString().trim().split(/\n/)[1].split(/\s+/);resolve({pId,pName,});}catch(error){reject(error);}}});module.exports=GetProcessInfo;


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Node/900.html