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

奋力向前
Freigeben: 2021-09-03 09:46:09
nach vorne
4515 Leute haben es durchsucht

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
Nach dem Login kopieren

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

netstat -ano | findstr 3306
Nach dem Login kopieren

查看指定端口3306的PID进程

tasklist | findstr 3306
Nach dem Login kopieren

结束进程

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

taskkill /T /F /PID 12345
Nach dem Login kopieren

Linux使用

使用netstat命令

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

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

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

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

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

netstat   -nultp
Nach dem Login kopieren

查看某个端口使用情况

netstat   -anp |grep 3306
Nach dem Login kopieren

使用lsof命令

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

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

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

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

  • -h : 获得帮助

  • -t : 仅获取进程ID

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

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

lsof -i:3306
Nach dem Login kopieren

常用

  • 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
    Nach dem Login kopieren
    Nach dem Login kopieren

    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
    Nach dem Login kopieren
    Nach dem Login kopieren

    PID-Prozess des angegebenen Ports 3306 anzeigen

    ps aux | egrep '(nginx|python)'
    Nach dem Login kopieren
    Nach dem Login kopieren

    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
    Nach dem Login kopieren
    Nach dem Login kopieren
    🎜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< auf /code> (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
    kill -9 65300 #彻底干掉pid为65530的进程
    
    kill -9 $(ps -ef | grep guest) #干掉guest 用户进程
    #or
    kill -u guest
    Nach dem Login kopieren
    Nach dem Login kopieren

    Ü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) 🎜
    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🎜</li><li>🎜<code>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🎜
    • < an li>🎜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🎜
    • < li>🎜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🎜< /li>
    • 🎜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🎜

    Verwenden Sie den Befehl ps< /strong>

    🎜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< /code> Umgebungsvariablen anzeigen🎜</li><li>🎜<code>f Programm anzeigen Die Beziehung zwischen 🎜
    • 🎜-H zeigt die Baumstruktur an 🎜
    • 🎜r zeigt den aktuellen Terminalprozess an 🎜
    • 🎜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🎜
    • -C<命令> 列出指定命令的状况

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

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

    • --help 显示帮助信息

    • --version 显示版本显示

    查找特定进程

    ps -ef|grep ssh
    Nach dem Login kopieren
    Nach dem Login kopieren

    输出:

    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
    Nach dem Login kopieren
    Nach dem Login kopieren

    通过服务名字查找PID

    查找 nginxpython 占用情况

    ps aux | egrep &#39;(nginx|python)&#39;
    Nach dem Login kopieren
    Nach dem Login kopieren

    输出:

    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
    Nach dem Login kopieren
    Nach dem Login kopieren

    结束进程

    kill命令参数

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

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

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

    • -KILL 强制杀死进程

    kill -9 65300 #彻底干掉pid为65530的进程
    
    kill -9 $(ps -ef | grep guest) #干掉guest 用户进程
    #or
    kill -u guest
    Nach dem Login kopieren
    Nach dem Login kopieren

    推荐学习: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!

Verwandte Etiketten:
Quelle:chuchur.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!