1

現在、ポートで実行されているすべてのプロセスをクリアするために次のことを行います

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スクリプトを作成していないので、どんな助けでも素晴らしいでしょう。

4

3 に答える 3

4

私はあなたがのようなものが欲しいと思います

fuser -k -n tcp 10000

lsofsoultionはもっと似ているでしょう

lsof -i :10000|tail -n +2|awk '{print $2}'|xargs -r kill
于 2012-04-08T08:57:45.080 に答える
1

Michaelsの答えが最も良いと思いますが、参考までに、次のようなこともできます。

PID=`lsof -i :10000 | awk 'NR == 2 {print $2}'`
kill $PID
于 2012-04-08T08:58:47.503 に答える
1

またはこれを使用してください!

kill $(lsof -i :www | awk '{print $2}' | grep -v PID)
于 2012-04-08T11:37:55.097 に答える