目前我这样做是为了清除在端口
上运行的所有进程lsof -i :10000
我得到了
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 10427 user 60u IPv4 0x162adea8 0t0 TCP localhost:52478->localhost:ndmp (ESTABLISHED)
Google 10427 user 112u IPv4 0x16289b98 0t0 TCP localhost:52483->localhost:ndmp (ESTABLISHED)
然后我杀了它
kill 10427
我正在寻找一种简化上述流程的方法。 我猜这个解决方案与管道输出并杀死它有关。 有点像(我想,在这里我假设1美元是10427)。
lsof -i :10000 | kill $1
我没有做太多的bash脚本,所以任何帮助都会很棒。
答案 0 :(得分:4)
我想你想要像
这样的东西fuser -k -n tcp 10000
lsof
解决方案更像是
lsof -i :10000|tail -n +2|awk '{print $2}'|xargs -r kill
答案 1 :(得分:1)
我认为Michaels的答案是最好的,但仅供参考,你也可以这样做:
PID=`lsof -i :10000 | awk 'NR == 2 {print $2}'`
kill $PID
答案 2 :(得分:1)
或者使用它!
kill $(lsof -i :www | awk '{print $2}' | grep -v PID)