Wind および Linux でのポート占有のチェックと強制終了の簡単な分析 (コード付き)

奋力向前
リリース: 2021-09-03 09:46:09
転載
4538 人が閲覧しました

前回の記事「MacOSの一般的なターミナルコマンドを解説した記事(コード付き)」では、MacOSの一般的なターミナルコマンドを解説した記事について学びました。次の記事では、Wind と Linux でポート占有を確認して強制終了する方法を説明します。

Wind および Linux でのポート占有のチェックと強制終了の簡単な分析 (コード付き)

ポート占有と Kill (ウィンドウと Linux)

Windows の使用

window netstat

  • -a は、すべての接続ポートとリスニング ポートを表示します。

  • -n アドレスとポート番号を数値形式で表示します。

  • #-o 各接続に関連付けられた所有プロセス ID を表示します。

すべてのポート占有を表示

netstat  -ano
ログイン後にコピー

占有ポート 3306

netstat -ano | findstr 3306
ログイン後にコピー
## に対応する PID を表示

#指定されたポート 3306 の PID プロセスを表示します。
tasklist | findstr 3306
ログイン後にコピー

プロセスを終了します。

強制的に (/F パラメーター) ですべてのプロセスを強制終了します。 pid 12345、子プロセス (/T パラメーター) を含む:

taskkill /T /F /PID 12345
ログイン後にコピー

LinuxUse

Use netstatcommand

-t (tcp)表示のみ tcp 関連オプション

-u (ucp)表示のみ ucp 関連オプション -nエイリアスの表示を拒否し、表示できるすべての数値を数値に変換します

-l Listen# にのみリストします## (listening) サービスのステータス

-p

関連するリンクを確立するプログラムの名前を表示します

現在使用されているすべてのポートを表示します

netstat   -nultp
ログイン後にコピー

特定のポートの使用状況を確認する

##
netstat   -anp |grep 3306
ログイン後にコピー

#lsof

コマンドを使用する

#デフォルト : オプションなし、lsof

はアクティブなプロセスの開いているすべてのファイルをリストします
  • 組み合わせ : ## のように、オプションを組み合わせることができます。 #-abc、ただし、どのオプションに引数が必要か注意してください

  • ##-a : 結果は AND 演算されます (OR 演算ではありません)

  • -l : ユーザー名ではなく出力に userID

    を表示します
  • #-h : ヘルプを表示

  • -t : プロセスのみを取得ID

  • -U : UNIX

    ソケット アドレスを取得します
  • -F : 他のコマンドの出力結果をフォーマットします。 -F pcfn

    (プロセス
  • id
  • 、コマンド名、ファイル記述子、ファイル名、null で終了)

    # など、さまざまな方法でフォーマットできます。 ##<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">lsof -i:3306</pre><div class="contentsignin">ログイン後にコピー</div></div>一般的に使用される

  • ##lsof abc.txt
開いているファイルを表示します

abc.txt 処理

  • #lsof -i :22

    ポートでどのようなプログラムが実行されているかを知る#22

  • # #lsof -c abc
  • abc プロセスによって現在開かれているファイルを表示します

  • lsof -g gid
  • 所有権を表示します

    gid プロセス ステータス

  • #lsof d /usr/local/
  • ディレクトリ内でプロセスによって開かれたファイルを表示します。

    ##lsof D /usr/local/ 上記と同じですが、ディレクトリ配下のディレクトリが検索されるため、時間がかかります

  • lsof -d 4
  • 表示

    4

  • lsof -i の処理として fd

    を使用して、条件を満たすプロセスのステータス
  • lsof -p 12 プロセス番号 12# のプロセスによってどのファイルが開かれているかを確認します。

  • # #lsof |-r [t]

    lsof を繰り返し実行するように制御します。デフォルトは

    15s
  • refresh
  • ## です。

    #lsof -r, lsof は、割り込み信号が受信されるまで永久に実行を続けます

  • lsof r, lsof ファイルが表示されなくなるまで実行を続けますlsof -s

    開いているファイルのサイズをリストします。サイズがない場合は空白のままにします
  • lsof -u username

    開いているファイルを
  • UID でリストする
  • #使用
  • ps

    command

    コマンド パラメータ:
  • #a すべてのプロセスを表示

  • #-a
同様に表示 端末配下のすべてのプログラム

-A

すべてのプロセスを表示

  • c プロセスの実際の名前を表示します

  • -N 選択を反転します

  • # -eは "-A

    "
  • e

    環境変数の表示
  • f # に等しい##プログラム間の関係を表示

  • -H ツリー構造を表示

  • r

    現在の端末のプロセスを表示

  • T

    現在の端末のすべてのプログラムを表示

  • ##u
  • 指定したユーザーのすべてのプロセス

  • -au
  • 詳細情報を表示

  • -aux
  • 他のユーザーが含まれるすべての旅行を表示

  • -C<命令> 列出指定命令的状况

  • --lines<行数> 每页显示的行数

  • --width<字符数> 每页显示的字符数

  • --help 显示帮助信息

  • --version 显示版本显示

查找特定进程

ps -ef|grep ssh
ログイン後にコピー

输出:

chuchur@linux:~/share$ ps -ef|grep bash
chuchur        9448  79650  0 06:05 pts/4    00:00:00 grep --color=auto bash
chuchur       79650  79575  0 03:49 pts/4    00:00:00 bash
ログイン後にコピー

通过服务名字查找PID

查找 nginxpython 占用情况

ps aux | egrep &#39;(nginx|python)&#39;
ログイン後にコピー

输出:

root         951  0.0  0.3 425268 27680 ?        Ssl   2020   9:48 /usr/libexec/platform-python -Es /usr/sbin/tuned -l -P
root      212828  0.0  0.1 135300 13924 ?        Ss    2020   0:00 nginx: master process /usr/sbin/nginx
root     2488443  0.0  0.1 164676 14892 ?        S    Mar06   0:00 nginx: worker process
ログイン後にコピー

结束进程

kill命令参数

  • -1 (HUP):重新加载进程。

  • -9 (KILL):杀死一个进程。

  • -15 (TERM):正常停止一个进程。

  • -KILL 强制杀死进程

kill -9 65300 #彻底干掉pid为65530的进程

kill -9 $(ps -ef | grep guest) #干掉guest 用户进程
#or
kill -u guest
ログイン後にコピー

推荐学习:windows教程

以上がWind および Linux でのポート占有のチェックと強制終了の簡単な分析 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:chuchur.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート