正如标题所说,我运行多个游戏服务器,并且它们每个都有相同的name
但不同的PID
和port
号码。我想匹配在某个端口上侦听的服务器的PID
,然后我想杀死这个进程。我需要这个才能完成我的bash脚本。确定在某个端口上侦听的进程pid
这可能吗?因为它在网上还没有找到任何解决方案。
正如标题所说,我运行多个游戏服务器,并且它们每个都有相同的name
但不同的PID
和port
号码。我想匹配在某个端口上侦听的服务器的PID
,然后我想杀死这个进程。我需要这个才能完成我的bash脚本。确定在某个端口上侦听的进程pid
这可能吗?因为它在网上还没有找到任何解决方案。
的netstat
的-p
标志可以PID过程:
netstat -l -p
编辑:所需要获取套接字的用户的PID在FreeBSD中的命令是sockstat
。 随着我们@Cyclone,完成该工作线在讨论过程中摸索出的是:
sockstat -4 -l | grep :80 | awk '{print $3}' | head -1
netstat -nlp
应该告诉你什么是在哪个端口上监听的PID。
'netstat的:80:未知或桩的protocol'使用'80'(nginx)端口来测试purpoes。没有工作。 – Cyclone 2012-03-24 23:39:42
短版,您可以通杀命令:
lsof -i:80 -t
这还包括在该端口上_connected_的进程。 'lsof -i4TCP:80 -sTCP:LISTEN -t'可能是你想要的,而是。 – Nevir 2016-03-26 21:18:49
正是我在找什么。我想通过搜索它正在运行的端口来终止一个进程。 – mythicalcoder 2017-05-25 13:08:09
@Nevir你的意思是“还包括在该端口上连接的进程”?你能解释一下吗? – kishorer747 2017-07-05 06:22:11
netstat -p -l | grep $PORT
和lsof -i :$PORT
解决方案都不错但我更喜欢fuser $PORT/tcp
扩展语法POSIX(这对于coreutils
工作)与管道:
pid=`fuser $PORT/tcp`
它打印纯pid,所以你可以放下sed
魔法。
一两件事,使fuser
我的情人工具是发送信号,这一过程直接的能力(这句法也扩展POSIX):
$ fuser -k $port/tcp # with SIGKILL
$ fuser -k -15 $port/tcp # with SIGTERM
$ fuser -k -TERM $port/tcp # with SIGTERM
而且-k由FreeBSD支持:http://www.freebsd.org/cgi/man.cgi?query=fuser
由于sockstat不是我的本地机器上安装,我设计了stanwise的答案netstat的改用..
netstat -nlp | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:2000" | awk '{print $7}' | sed -e "s/\/.*//g""
我想以编程方式编辑为 - 仅使用Bash - 终止侦听给定端口的进程。
比方说,端口是8089,那么这里就是我如何做到了:
badPid=$(netstat --listening --program --numeric --tcp | grep "::8089" | awk '{print $7}' | awk -F/ '{print $1}' | head -1)
kill -9 $badPid
我希望这可以帮助别人!我知道这将帮助我的球队。
这里是我用来做的功能: 'function kill-listener {lsof -i:$ 1 -t | xargs kill -9 }' 使用您的8089端口示例:'kill-listener 8089' – 2017-06-21 14:00:14
在Windows上,netstat的选项来获得PID的是-o和-p选择协议过滤,例: 的netstat -a -p tcp的-o
'netstat:80:unknown或uninstrumented protocol'使用'80'(nginx)端口来测试purpoes。没有工作。 – Cyclone 2012-03-24 23:36:16
你是怎么得到这个错误的?什么确切的命令产生了它? – stanwise 2012-03-24 23:45:07
'netstat -l -p 80',当我做'netstat -l -p'时我收到了这个手册:http://pastebin.com/raw.php?i=q9jeQSBj – Cyclone 2012-03-24 23:48:56