你如何编写一个Fish函数来杀死指定端口上的服务器?

时间:2015-06-03 05:50:24

标签: unix fish

我正在将我的zsh设置移植到fish。不过,我正在努力争论鱼类的争论。

function kill_server
     lsof -i TCP:$argv | awk '/LISTEN/{print $argv[1]}' | xargs kill -9
     if $argv !== dev 2>null
       echo "Port" $argv "found and killed."
     end
end

我也尝试过使用switch语句,但我不确定如何检查端口号的正则表达式(?)。

1 个答案:

答案 0 :(得分:3)

你可能想要

function kill_server --argument port
     for pid in (lsof -i TCP:$port | awk '/LISTEN/{print $2}')
         echo -n "Found server for port $port with pid $pid: "
         kill -9 $pid; and echo "killed."; or echo "could not kill."
     end
end

awk体中的$2不是鱼变量,它属于awk。