iT邦幫忙

0

請問 node.js 要如何知道,正在使用中的port有哪些?

如標題~ 不是在程式裡面去檢查是否佔用,而是像IIS裡面那樣有一份列表這樣。
謝謝~

提示:
sudo lsof -i
sudo lsof -i | grep TCP
sudo lsof -i :80 | grep LISTEN
sudo netstat -lptu
sudo netstat -tulpn
sudo ls -l /proc/$pid/exe
依其linux作業系統不同有不同的用法命令

不要被視窗化介面給寵壞了。iis那個只是有提供給你視窗化介面,其也只是是一個應用命令而已。
linux只是沒提供視窗化的介面給你查看,但還是有命令可以用的。
froce iT邦高手 1 級 ‧ 2018-10-03 16:33:46 檢舉
https://www.npmjs.com/package/get-port
沒用過,就不放在回覆了,不過拜託先養成用google搜尋的習慣。

用指令的話難點在介接成程式的物件啦。能用api還是最好。
另外也可以看一下人家api怎麼處理的。
90901 iT邦新手 5 級 ‧ 2018-10-04 17:29:54 檢舉
感謝 你們的回覆~ 目前我用powershell 的方式 可以列出所有 node 正在用的清單了 ~

1 個回答

0
Luis-Chen
iT邦新手 5 級 ‧ 2018-10-04 12:02:04

想藉提問延伸問題:

請問怎麼設定npm start 清除正在使用的port並重新開啟node server?

目前我是把所以有port 全部清掉再重新開啟,但同時其他專案也會被關掉
假設我現在 node port為5000 我怎麼清掉5000 port 然後再重新開啟?

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "killall -9 node && node_modules/.bin/nodemon app.js --exec    babel-node --"
  },

看過普遍都是手動找PID 刪掉再重開

90901 iT邦新手 5 級 ‧ 2018-10-04 17:28:45 檢舉

我知道的也是使用 PID 尋找 :
netstat -aon | findstr 5000
之後最後面 就會有 PID 在到工作管理員去結束程式~
我都是這樣作的

我要發表回答

立即登入回答