![特定のIPとポートで実行されているプロセスを終了するには? [閉鎖]](https://linux33.com/image/111679/%E7%89%B9%E5%AE%9A%E3%81%AEIP%E3%81%A8%E3%83%9D%E3%83%BC%E3%83%88%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%82%92%E7%B5%82%E4%BA%86%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
特定のIPで実行されているプロセスを終了する方法があるかどうかを知りたいです。そしてUbuntu 14.04のローカルIPとポートは何ですか?コマンドを使用することをお勧めしますが、そうでない場合は、bashスクリプトは完璧です。
答え1
おそらくもっときれいな方法があるでしょう。しかし、次のように進みます。
netstat -lnp | grep 'tcp .*127.0.0.1:9984' | sed -e 's/.*LISTEN *//' -e 's#/.*##' | xargs kill
答え2
以下を使用して、特定のIPおよびポート(srcおよびポート用)をリッスンするプロセス/接続に関する詳細をss
取得できます。127.0.0.1
80
sudo ss -lp '( dport = :80 )' src 127.0.0.1
それから私達はそれらをPID
得、使用し、grep
殺すためにだけ使用することができます。xargs
kill
sudo ss -lp '( dport = :80 )' src 127.0.0.1 | grep -Po "(?<=pid=).*(?=,)"\
| sort | uniq | xargs kill
-a
代わりに、スイッチを使用して-l
すべての受信ソケットと非受信ソケットのリストをインポートすることもできます。
答え3
fuser
Linuxには、必要な操作を正確に実行するオプションがあります。
たとえば、fuser 80/tcp
そのポートにバインドされているプロセスのPIDを印刷してfuser -k 80/tcp
プロセスを終了します。
答え4
ローカルコンピュータのプロセスを実行できる唯一のIPは、127.0.0.1
ループバックデバイスlo
ですlocalhost
。そのポートは、ネットワーク構成を介してパブリックIPアドレスに転送できます。
私は通常sudo lsof -i :<port>
原因が何であるかを判断するために使用します。EADDRINUSEタイピングがより速いからです。
sudo lsof -i :443 | tail -1 | cut -f2 -d' ' | xargs kill
lsof
次の出力を提供すると、ポート443で実行されているプロセスが終了します。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3 32233 cat 4u IPv4 24123106 0t0 TCP *:http-alt (LISTEN)
からlsof --help
:
-i i select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]