Mac 用戶偶爾可能會遇到進程鎖定端口的情況,從而阻止其他應用程序或進程使用該端口。如果您遇到這種情況,例如,您可能正在嘗試使用 React.js 並發現端口 3000 上已在運行某些內容,您可以通過以下方式輕鬆追踪哪些進程正在使用 Mac 上的端口轉向命令行。
我們將向您展示如何查找並終止 MacOS 上鎖定端口的進程。
如何查找 Mac 上鎖定端口的進程
要使用的語法如下,將 PORTNUMBER 替換為您希望發現進程的端口號:
sudo lsof-i:PORTNUMBER
例如,查找使用端口 445 的進程:
sudo lsof-i:445
或者查找使用並鎖定端口 3000 的進程:
sudo lsof-i:3000
p>
如何在 Mac 上查找並終止鎖定端口的進程
從 lsof 的命令輸出中獲得 PID(進程 ID)後,您可以退出應用程序、關閉服務,或終止該進程,以釋放鎖定的端口。
終止進程的最簡單方法是使用kill命令:
kill-9 PID
例如,如果使用端口 3000 的進程 ID 是“8384”,那麼您將使用以下命令語法:
kill-9 8384
如果進程是由 root、admin 或其他用戶擁有,您需要在命令前加上 sudo 前綴:
sudo Kill-9 8384
對於它的價值,這裡使用 lsof 命令專注於 Mac,但在 Linux 中也能同樣工作。
我們假設您對命令行有一些了解,但當然,如果您不了解,那麼您可能一開始就不會在這裡,或者擔心什麼正在使用或鎖定端口.
還有其他方法可以做到這一點,但顯然這裡我們使用的是 lsof 命令,該命令非常強大,還可以使用它來查找 TCP 端口上正在偵聽的內容,查找哪些應用程序或進程正在與特定文件交互,以查找使用互聯網連接的所有進程等等。
您是否有其他方法來確定哪個進程正在鎖定或使用特定端口?在下面的評論中與我們分享您自己的方法。