macos系統下查看端口號並殺死端口號所在的進程

問題描述

今天啓動項目一個執行機,報了一個Port already in use的異常。
在這裏插入圖片描述

解決問題

端口占用一般解決思路就是拿到端口占用進程號,然後kill一下這個進程號即可。
Linux環境下或者macos可以藉助於lsof命令解決這個問題,首先什麼是lsof命令?

  • lsof
    lsof(list open files)是一個列出當前系統打開文件的工具,我們都知道在Unix中一切都是可以由文件進行描述的,直接輸入lsof命令輸入如下所示:
    在這裏插入圖片描述

lsof輸出各列信息的意義如下:

  1. COMMAND:進程的名稱 PID:進程標識符
  2. USER:進程所有者
  3. FD:文件描述符,應用程序通過文件描述符識別該文件。如cwd、txt等
  4. TYPE:文件類型,如DIR、REG等
  5. DEVICE:指定磁盤的名稱
  6. SIZE:文件的大小
  7. NODE:索引節點(文件在磁盤上的標識)
  8. NAME:打開文件的確切名稱

通過上面的輸出列我們可以查詢到PID從而解決我們上面遇到的問題,其常用的命令格式如下

lsof -i tcp:port

參數說明:使用-i顯示所有連接,tcp只顯示tcp的鏈接信息,port可以填入實際想要查詢的端口號。通過這個查詢到PID然後kill掉進程即可解決端口占用的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章