Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Eine kurze Analyse der Überprüfung der Portbelegung und -tötung in Wind und Linux (mit Code)

Eine kurze Analyse der Überprüfung der Portbelegung und -tötung in Wind und Linux (mit Code)

奋力向前
奋力向前nach vorne
2021-09-03 09:46:094296Durchsuche

Im vorherigen Artikel „Ein Artikel zur Erläuterung allgemeiner Terminalbefehle in MacOS (mit Code)“ habe ich Ihnen einen Artikel zur Erläuterung allgemeiner Terminalbefehle in MacOS gegeben. Im folgenden Artikel erfahren Sie, wie Sie die Portbelegung und den Kill in Wind und Linux überprüfen.

Eine kurze Analyse der Überprüfung der Portbelegung und -tötung in Wind und Linux (mit Code)

Portbelegung und Kill (Windows & Linux)

Windows verwendet

netstat in windowwindow中的netstat

  • -a 显示所有连接和侦听端口。

  • -n 以数字形式显示地址和端口号。

  • -o 显示拥有的与每个连接关联的进程ID

查看所有端口占用情况

netstat  -ano

查看被占用端口3306对应的PID

netstat -ano | findstr 3306

查看指定端口3306的PID进程

tasklist | findstr 3306

结束进程

强制(/F参数)杀死 pid 为 12345 的所有进程包括子进程(/T参数): 

taskkill /T /F /PID 12345

Linux使用

使用netstat命令

-t (tcp)仅显示tcp相关选项

-u (ucp)仅显示ucp相关选项-n拒绝显示别名,能显示数字的全转成数字

-l 仅列出有在Listen(监听)的服务状态

-p 显示建立相关链接的程序名

看当前所有已经使用的端口情况

netstat   -nultp

查看某个端口使用情况

netstat   -anp |grep 3306

使用lsof命令

  • 默认 : 没有选项,lsof列出活跃进程的所有打开文件

  • 组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数

  • -a : 结果进行“与”运算(而不是“或”)

  • -l : 在输出显示用户ID而不是用户名

  • -h : 获得帮助

  • -t : 仅获取进程ID

  • -U : 获取UNIX套接口地址

  • -F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)

lsof -i:3306

常用

  • 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 显示使用fd4的进程

  • lsof -i 用以显示符合条件的进程情况

  • lsof -p 12 看进程号为12的进程打开了哪些文件

  • lsof +|-r [t] 控制lsof不断重复执行,缺省是15s刷新

  • lsof -r,lsof会永远不断的执行,直到收到中断信号

  • lsof +r,lsof会一直执行,直到没有档案被显示

  • lsof -s 列出打开文件的大小,如果没有大小,则留下空白

  • lsof -u username UID,列出打开的文件

使用ps命令

命令参数:

  • a 显示所有进程

  • -a 显示同一终端下的所有程序

  • -A 显示所有进程

  • c 显示进程的真实名称

  • -N 反向选择

  • -e 等于“-A

  • e 显示环境变量

  • f 显示程序间的关系

  • -H 显示树状结构

  • r 显示当前终端的进程

  • T 显示当前终端的所有程序

  • u 指定用户的所有进程

  • -au 显示较详细的资讯

  • -aux

    • -a Zeigt alle Verbindungen und Abhörports an. 🎜
    • 🎜-n Anzeige der Adresse und Portnummer in numerischer Form. 🎜
    • 🎜-o Zeigt die ID des eigenen Prozesses an, die jeder Verbindung zugeordnet ist. 🎜

    Alle Portbelegungen anzeigen

    ps -ef|grep ssh

    Die PID anzeigen, die dem belegten Port 3306 entspricht

    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-Prozess des angegebenen Ports 3306 anzeigen

    ps aux | egrep '(nginx|python)'

    Prozess beenden

    🎜Force (/F-Parameter) um die PID zu töten. Für 12345 alle Prozesse einschließlich untergeordneter Prozesse (/T-Parameter): 🎜
    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
    🎜Linux mit 🎜

    Verwenden des netstat-Befehls

    🎜-t (tcp)Zeigt nur tcp-bezogene Optionen an🎜🎜-u (ucp)Zeigt nur ucp an Verwandte Optionen -n verweigern die Anzeige von Aliasen und konvertieren alle Zahlen, die angezeigt werden können, in Zahlen🎜🎜-l Listen Sie diese nur in Listen (lauschend) Der Dienststatus🎜🎜<code>-p zeigt den Namen des Programms an, das den entsprechenden Link hergestellt hat🎜

    Sehen Sie sich alle aktuell verwendeten Ports an h3>
    kill -9 65300 #彻底干掉pid为65530的进程
    
    kill -9 $(ps -ef | grep guest) #干掉guest 用户进程
    #or
    kill -u guest

    Überprüfen Sie die Nutzung eines bestimmten Ports

    rrreee

    Verwenden Sie den Befehl lsof

    • 🎜Standard: keine Optionen, lsof listet alle geöffneten Dateien aktiver Prozesse auf🎜
    • 🎜Kombination: Optionen können zu Together kombiniert werden, wie -abc, aber seien Sie vorsichtig, welche Optionen Argumente erfordern 🎜
    • 🎜-a: das Ergebnis ist AND-verknüpft (nicht OR-verknüpft)🎜
    • 🎜-l : Benutzer-ID anstelle des Benutzernamens in der Ausgabe anzeigen🎜
    • 🎜- h : Hilfe anfordern🎜
    • 🎜-t : Nur Prozess-ID abrufen🎜
    • 🎜 -U : Holen Sie sich die UNIX-Socket-Adresse 🎜
    • 🎜-F : Formatieren Sie die Ausgabeergebnisse für andere Befehle . Kann auf viele Arten formatiert werden, z. B. -F pcfn (für Prozess-id, Befehlsname, Dateideskriptor, Dateiname und mit Null abgeschlossen) 🎜 li>
    rrreee

    Häufig verwendet

    • 🎜lsof abc.txt code > Zeigen Sie den Vorgang des Öffnens der Datei <code>abc.txt an 🎜
    • 🎜lsof -i :22 Wissen Sie, dass der 22 Port läuft jetzt Welches Programm🎜
    • 🎜lsof -c abc zeigt die Dateien an, die derzeit vom abc-Prozess geöffnet werden🎜
    • 🎜lsof - g gid Zeigt den Status des Prozesses an, der zu gid gehört 🎜
    • 🎜lsof +d /usr/local/ code> Zeigt die vom Prozess im Verzeichnis Dateien geöffneten Prozesse an🎜
    • 🎜lsof +D /usr/local/ Das Gleiche wie oben, es werden jedoch die Verzeichnisse unter dem Verzeichnis durchsucht , was länger dauert🎜
    • 🎜 lsof -d 4 zeigt Prozesse, die fd verwenden, als 4🎜
    • 🎜lsof -i wird verwendet, um die Bedingungen der Prozesse anzuzeigen, die die Bedingungen erfüllen🎜
  • 🎜lsof -p 12 Sehen Sie, welche Dateien vorhanden sind geöffnet durch den Prozess mit der Prozessnummer 12🎜
  • 🎜lsof +|-r [t] Steuert lsof zu wiederholt ausgeführt werden. Der Standardwert ist 15s restart🎜
  • 🎜lsof -r, lsof wird ewig ausgeführt, bis ein Interrupt-Signal empfangen wird🎜
  • 🎜lsof +r, lsof wird weiter ausgeführt, bis keine Dateien mehr angezeigt werden 🎜
  • 🎜lsof -s Listen Sie die auf Größe der geöffneten Datei, wenn keine Größe vorhanden ist, lassen Sie ein Leerzeichen 🎜
  • 🎜lsof -u username Offene Dateien mit UID🎜 auflisten li>

Verwenden Sie den Befehl ps

🎜Befehlsparameter: 🎜
  • 🎜a Alle Prozesse anzeigen🎜
  • 🎜-a Alle Programme unter demselben Terminal anzeigen 🎜
  • 🎜 -A Alle Prozesse anzeigen 🎜
  • 🎜 c zeigt den tatsächlichen Namen des Prozesses an 🎜
  • 🎜-N Selektion umkehren 🎜
  • 🎜-e entspricht „-A“🎜
  • 🎜e Umgebungsvariablen anzeigen🎜
  • 🎜f Programm anzeigen Die Beziehung zwischen 🎜
  • 🎜-H zeigt die Baumstruktur an 🎜
  • 🎜r zeigt den aktuellen Terminalprozess an 🎜 li>
  • 🎜T Zeigt alle Programme im aktuellen Terminal an🎜
  • 🎜u Alle Prozesse des angegebenen Benutzers🎜
  • 🎜-au Detailliertere Informationen anzeigen🎜
  • 🎜 -aux Alle Reiserouten anzeigen, die andere Benutzer einschließen🎜
  • -C99a2c3ea6fd7e6f38f79ffc1b9e66846 列出指定命令的状况

  • --lines1dcc53fc8cc7b2478796660caa67152b 每页显示的行数

  • --width43fcd4448ba0fb0354190e42ef7c7dd3 每页显示的字符数

  • --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教程

Das obige ist der detaillierte Inhalt vonEine kurze Analyse der Überprüfung der Portbelegung und -tötung in Wind und Linux (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:chuchur.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen