Mac 用户可能偶尔会遇到进程锁定端口的情况,从而阻止另一个应用程序或进程使用该端口。如果您遇到这种情况,例如,也许您正在尝试使用 React.js并发现端口 3000 上已经运行了某些内容,您可以通过转到命令行轻松跟踪哪些进程正在使用 Mac 上的端口。
我们将向您展示如何查找并终止在MacOS上锁定端口的进程。
如何在Mac上查找锁定端口的进程
要使用的语法如下,将 PORTNUMBER 替换为您希望使用发现进程的端口号:
sudo lsof -i :PORTNUMBER
例如,要使用端口 445 查找进程:
sudo lsof -i :445
或者,要使用和锁定端口 3000 查找进程,请执行以下操作:
sudo lsof -i :3000
如何在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 端口的内容,查找哪些应用程序或进程正在与特定文件交互,查找所有进程使用 Internet 连接等等。