>  기사  >  운영 및 유지보수  >  Wind 및 Linux에서 포트 점유 확인 및 종료에 대한 간략한 분석(코드 포함)

Wind 및 Linux에서 포트 점유 확인 및 종료에 대한 간략한 분석(코드 포함)

奋力向前
奋力向前앞으로
2021-09-03 09:46:094296검색

이전 글 "MacOS에서 자주 사용하는 터미널 명령어를 설명하는 글(코드 포함)"에서 MacOS에서 자주 사용하는 터미널 명령어를 설명하는 글을 드렸는데요. 다음 기사에서는 Wind 및 Linux에서 포트 점유를 확인하고 종료하는 방법을 설명합니다.

Wind 및 Linux에서 포트 점유 확인 및 종료에 대한 간략한 분석(코드 포함)

포트 점유 및 종료(Window 및 Linux)

Windows는 window

에서

window中的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 显示较详细的资讯

  • -auxnetstat를 사용합니다.

    • -a 모든 연결 및 수신 포트를 표시합니다. 🎜
    • 🎜-n 주소와 포트 번호를 숫자 형식으로 표시합니다. 🎜
    • 🎜-o 각 연결과 연관된 소유 프로세스 ID를 표시합니다. 🎜

    모든 포트 점유 보기

    ps -ef|grep ssh

    점유된 포트 3306에 해당하는 PID 보기

    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

    지정된 포트 3306의 PID 프로세스 보기

    ps aux | egrep '(nginx|python)'

    프로세스 종료

    🎜Force(/F 매개변수) pid를 삭제하려면 하위 프로세스(/T 매개변수)를 포함한 12345 모든 프로세스의 경우: 🎜
    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 사용 🎜

    netstat 명령 사용

    🎜-t (tcp)tcp 관련 옵션만 표시🎜🎜-u (ucp)ucp만 표시 관련 옵션 -n 별칭 표시를 거부하고 표시 가능한 모든 숫자를 숫자로 변환합니다🎜🎜-l Listen (듣기) 서비스 상태🎜🎜<code>-p는 해당 링크를 설정한 프로그램 이름을 표시합니다🎜

    현재 사용되는 모든 포트 보기 h3>
    kill -9 65300 #彻底干掉pid为65530的进程
    
    kill -9 $(ps -ef | grep guest) #干掉guest 用户进程
    #or
    kill -u guest

    특정 포트 사용 확인

    rrreee

    lsof 명령 사용

    • 🎜기본값: 옵션 없음, lsof는 활성 프로세스의 열려 있는 모든 파일을 나열합니다🎜
    • 🎜조합: -abc처럼 옵션을 함께 결합할 수 있지만 어떤 옵션에 인수가 필요한지 주의하세요 🎜
    • 🎜-a: 결과 AND 처리됨(OR 처리되지 않음 ”)🎜
    • 🎜-l : 출력에 사용자 이름 대신 사용자 ID 표시🎜
    • 🎜- h : 도움말 얻기🎜
    • 🎜-t : 프로세스 ID🎜
    • 만 가져오기 >🎜 -U : UNIX 소켓 주소 가져오기 🎜
  • 🎜-F : 다른 명령에 대한 출력 결과 형식 지정 . -F pcfn(프로세스 id, 명령 이름, 파일 설명자, 파일 이름, null로 종료) 등 다양한 방식으로 형식을 지정할 수 있습니다. 🎜 li>
rrreee

일반적으로 사용됨

  • 🎜lsof abc.txt code > <code>abc.txt 파일을 여는 과정을 표시합니다. 🎜
  • 🎜lsof -i :22 22 포트가 현재 실행 중입니다. 어떤 프로그램🎜
  • 🎜lsof -c abcabc 프로세스🎜
  • 에 의해 현재 열려 있는 파일을 표시합니까? 🎜lsof - g gid gid🎜
  • 🎜lsof +d /usr/local/에 속한 프로세스의 상태를 표시합니다. code> Files🎜
  • 🎜lsof +D /usr/local/ 디렉토리에서 프로세스가 연 프로세스를 표시합니다. 위와 동일하지만 디렉토리 아래의 디렉토리를 검색합니다. , 시간이 더 오래 걸립니다🎜
  • 🎜 lsof -d 4fd4🎜
  • 로 사용하는 프로세스를 표시합니다.
  • 🎜lsof -i는 조건을 충족하는 프로세스의 조건을 표시하는 데 사용됩니다🎜
  • 🎜lsof -p 12 어떤 파일이 있는지 확인하세요. 프로세스 번호가 12🎜
  • 🎜lsof +|-r [t]인 프로세스에 의해 열림 lsof가 기본값은 15초입니다. li>
  • 🎜lsof +r, lsof는 파일이 표시되지 않을 때까지 계속 실행됩니다. 🎜
  • 🎜lsof -s 크기 나열 열려 있는 파일 중 크기가 없으면 공백으로 남겨두세요 🎜
  • 🎜lsof -u 사용자 이름 UID🎜
  • 로 열린 파일 나열 >

ps 명령 사용

🎜명령 매개변수: 🎜
  • 🎜a 모든 프로세스 표시🎜
  • 🎜-a 동일한 터미널에 있는 모든 프로그램 표시 🎜
  • 🎜-A 모든 프로세스 표시 🎜
  • 🎜 c 프로세스의 실제 이름 표시 🎜
  • 🎜-N 역방향 선택 🎜
  • 🎜-e는 "-A"🎜
  • 🎜e와 같습니다. code> 환경 변수 표시🎜
  • 🎜f 프로그램 표시 🎜
  • 🎜-H 사이의 관계는 트리 구조를 표시합니다 🎜
  • 🎜r 현재 터미널의 프로세스를 표시합니다 🎜 li>
  • 🎜T 현재 터미널의 모든 프로그램을 표시합니다🎜 li>
  • 🎜u 지정된 사용자의 모든 프로세스🎜
  • 🎜-au 더 자세한 정보 표시🎜
  • 🎜-aux 다른 사용자가 포함된 모든 여행 일정 표시🎜
  • -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教程

위 내용은 Wind 및 Linux에서 포트 점유 확인 및 종료에 대한 간략한 분석(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 chuchur.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제