ホームページ  >  記事  >  運用・保守  >  Linuxにおけるポート占有チェック動作の詳細説明

Linuxにおけるポート占有チェック動作の詳細説明

WBOY
WBOYオリジナル
2024-03-01 12:09:03531ブラウズ

Linuxにおけるポート占有チェック動作の詳細説明

Linux でのポート占有チェック操作の詳細な説明

Linux オペレーティング システムでは、ネットワーク通信はポートを介して実現され、異なるポートは異なるネットワーク サービスやアプリケーションに対応します。 。開発や運用保守のプロセスでは、サービスが正常に開始できるかどうかを確認するために、特定のポートが占有されているかどうかを確認する必要が生じることがよくあります。この記事では、Linux環境でポート占有を確認する方法を、コマンドラインツールやプログラミング言語を使用して記述したコード例も含めて詳しく紹介します。

1. コマンド ライン ツールを使用してポート占有率を確認する

  1. netstat コマンド

netstat は、ネットワーク ステータス情報を表示するために使用されるコマンド ライン ツールです。これにより、システム内の開いているポートと対応するプロセスを表示できます。 netstat コマンドの一般的なオプションの一部を次に示します。

  • -t: TCP ポートの表示
  • -u: UDP ポートの表示
  • -n: 番号形式の表示(ドメイン名の解決ではありません)
  • -p: プロセス識別子とプロセス名の表示

これらのオプションを組み合わせることで、次のコマンドを使用して、すべてのリスニング ポートと対応するプロセスを表示できます。 system:

netstat -tulnp
  1. ss command

ss は netstat の代替ツールであり、パフォーマンスが向上し、使用法も簡単です。 netstat と同様に、ss もポート占有率を確認できます。次に、一般的に使用される ss コマンドの例を示します。

ss -tlnp

このコマンドは、リスニング状態にあるすべての TCP ポートと、システム内の対応するプロセスを表示します。

2. プログラミング言語を使用してコードを作成し、ポートの占有を確認する

コマンド ライン ツールに加えて、プログラミング言語を使用してポートの占有を確認するコードを作成することもできます。以下では、例として Python を使用して、プログラミング言語を通じてポートの占有を確認する方法を示します。

import socket

def check_port(port):
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.bind(("0.0.0.0", port))
        s.close()
        return True
    except Exception as e:
        return False

port_to_check = 8080
if check_port(port_to_check):
    print(f"端口 {port_to_check} 可用")
else:
    print(f"端口 {port_to_check} 已被占用")

上記は、ソケット接続を作成することによって、指定されたポートが占有されているかどうかを確認する単純な Python スクリプトです。 check_port 関数を呼び出し、チェックするポート番号を渡すことで、ポートの占有率を取得できます。

概要:

この記事では、Linux 環境でコマンド ライン ツールとプログラミング言語を使用してポートの占有を確認する方法について詳しく説明します。 netstat、ss コマンドを使用するか、Python コードを記述することによって、ポート占有ステータスを簡単に取得でき、システム サービスの正常な起動と動作を保証するのに役立ちます。以上の内容が読者の実務に役立つことを願っています。

以上がLinuxにおけるポート占有チェック動作の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。