如何删除已分配给端口的当前进程/应用程序?

例如:localhost:8080


当前回答

如果您已经知道端口号,那么向进程发送软件终止信号(SIGTERM)可能就足够了:

kill $(lsof -t -i :PORT_NUMBER)

其他回答

如果你使用powershell 7+,这对我有用。只需在$PROFILE文件中添加此函数。

function killport([parameter(mandatory)] [string] $uport){
    if($upid = (Get-NetTCPConnection -LocalPort $uport -ErrorAction Ignore).OwningProcess){kill $upid}
}

然后简单地使用killport 8080

或者如果你只喜欢命令,你可以试试这个:

kill $(Get-NetTCPConnection -LocalPort 8761 -ErrorAction Ignore).OwningProcess

如果你想使用Python:检查是否可以在Python中杀死正在监听特定端口的进程,例如8080?

Smunk给出的答案很好。我在这里重复他的密码:

from psutil import process_iter
from signal import SIGTERM # or SIGKILL

for proc in process_iter():
    for conns in proc.connections(kind='inet'):
        if conns.laddr.port == 8080:
            proc.send_signal(SIGTERM) # or SIGKILL
            continue

我知道这是一个很老的问题,但发现很容易记住,快速命令杀死使用端口的应用程序。

要求:npm@5.2.0^版本

npx kill-port 8080

你也可以在这里阅读更多关于kill-port的内容:https://www.npmjs.com/package/kill-port

如果你正在使用giitbash

第一步:

netstat -ano | findstr :8080

第二步:

taskkill /PID typeyourPIDhere /F 

(/F强制终止进程)

如果您已经知道端口号,那么向进程发送软件终止信号(SIGTERM)可能就足够了:

kill $(lsof -t -i :PORT_NUMBER)