localhostでリッスンポートを閉じます。

localhostでリッスンポートを閉じます。

CentOS7でローカルホストのリスニングポートを閉じる方法は?これまで、次のコマンドを使用してプロセスIDを見つけました。

sudo netstat -tlpn | grep 5601

次に、次のコマンドを使用してプロセスを終了しますが、新しいプロセスIDで始まります。

sudo kill -SIGTERM 29565

助けてください。

ここに画像の説明を入力してください。

答え1

UnixとLinux StackExchangeへようこそ!

あなたの写真によると、SIGTERMを使用して現在のポートを占有しているプロセスを終了すると、新しいプロセスが代わりに発生します。したがって、systemdプロセスの終了時に自動的にプロセスを再開するように設定またはポートを保持するプロセスは、プライマリサーバーアプリケーションの「ワーカー」サブプロセスにすぎません。

問題のプロセス名はnodeあなたの出力に基づいているようですnetstat -tlpn。そこでまず、次のような名前のシステムサービスがあることを確認しようとしました。

systemctl | grep -i node

サービスの正確な名前(たとえばnode.service)を知ったら、次のようにサービスを停止できます。

systemctl stop node.service

間違っていることが判明した場合は、再起動してください。

systemctl start node.service

正しいサービスが停止したことを確認したら、次回のシステムの再起動時にサービスが自動的に開始されないようにサービスを無効にできます。

systemctl disable node.service

答え2

特定のポートでリッスンしているプロセスを検索するには、lsof または開いたファイルのリストを使用します。

lsof

-i特定のポートフィルタリングオプションで実行中のプロセスを探す

lsof -i TCP:[PORT]

lsof -i TCP:5601

特定のポートでリッスンしているすべてのプロセスを終了します。この-tコマンドは正確にパイプのPIDのみを返し、xargs返された各行で使用されます。

lsof -ti tcp:[PORT] | xargs kill

lsof -ti tcp:5601 | xargs kill

プロセスがより永続的でシャットダウンが機能しない場合は、kill -9 [PID]より積極的にシャットダウンしてみてください。

引用する

ポートにリストされているすべてのプロセスを見つけて終了します。

Linuxの10種類のlsofコマンドの例

関連情報