在前端开发中,我们经常需要查找某个端口号对应的进程 ID(PID),以便进行一些操作,比如终止占用该端口的进程。npm 上有一个方便的工具包 pid-from-port,可以通过端口号获取对应的 PID,本文将介绍如何使用该工具包。
安装
首先需要安装 npm 包 pid-from-port,可以通过以下命令进行安装:
npm install pid-from-port
使用方法
pid-from-port 包提供了两个 API:pidFromPort()
和 kill()
获取进程 ID
要获取某个端口的进程 ID,可以使用 pidFromPort(port)
方法,其中 port
参数为要查询的端口号,返回值为对应的进程 ID。例如,要查询本地 3000 端口的进程 ID,可以这样写:
const pidFromPort = require('pid-from-port'); const port = 3000; const pid = pidFromPort(port); console.log(`Port ${port} is being used by process ${pid}`);
上述代码将输出本地 3000 端口所对应的进程 ID。
终止进程
如果需要终止某个端口对应的进程,可以使用 kill(port)
方法,其中 port
参数为要终止的端口号。例如,要终止本地 3000 端口所对应的进程,可以这样写:
const pidFromPort = require('pid-from-port'); const port = 3000; const pid = pidFromPort(port); pidFromPort.kill(pid); console.log(`Process ${pid} using port ${port} has been terminated`);
上述代码将终止本地 3000 端口所对应的进程,并输出提示信息。
注意事项
在使用 kill()
方法终止进程时,需要确保该进程不是当前 Node.js 进程的子进程。否则会抛出错误,导致程序崩溃。因此,在使用该方法前,建议先检查一下要终止的进程是否是当前进程的子进程。
-- -------------------- ---- ------- ----- - -------- - - ------------------------- ----- -------------- - ---------- -- - --- - ----- ------ - ------------ -- ----- -- -------------- ------ ------------------------ --- ----------------------- - ----- --- - ------ ------ - -- ----- ----------- - ------------------------- ----- ---- - ----- ----- --- - ------------------ -- ---------------------- - ---------------------- -------------------- ------ ----- ---- ------- --- ---- ------------- - ---- - -------------------- ------ -- - ----- ------- -- ------- -------- ---- -------------- -
上述代码将先检查要终止的进程是否是当前进程的子进程,如果不是,则终止该进程;否则,只输出一个提示信息。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/50686