Linux - 端口进程管理

在这里插入图片描述
·························································· 唯有天下一统,方能开的万世太平


1. netstat

netstat 是一个告诉我们系统中所有 tcp/udp/unix socket 连接状态的命令行工具。它会列出所有已经连接或者等待连接状态的连接。

  • netstat -a
    显示系统中的所有连接
root@ying1:~# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:8999            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 ying1:ssh               192.168.101.10:55606    ESTABLISHED
tcp        0    208 ying1:ssh               192.168.101.10:51569    ESTABLISHED
tcp6       0      0 [::]:http               [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 ying1:8443              ying1:34086             TIME_WAIT
udp        0      0 localhost:domain        0.0.0.0:*
udp        0      0 ying1:bootpc            0.0.0.0:*
udp6       0      0 ying1:dhcpv6-client     [::]:*
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     SEQPACKET  LISTENING     25801    /run/udev/control
unix  2      [ ]         DGRAM                    48493    /run/user/1000/systemd/notify
unix  2      [ ]         DGRAM                    36826    /run/user/0/systemd/notify
unix  2      [ ACC ]     STREAM     LISTENING     48496    /run/user/1000/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     36829    /run/user/0/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     48501    /run/user/1000/bus
unix  2      [ ACC ]     STREAM     LISTENING     36834    /run/user/0/bus
......
  • 使用 t选项只列出 tcp 连接
    $ netstat -at

  • 使用u 选项只列出udp 连接
    $ netstat -au

  • 使用 x 选项只列出 Unix socket 连接
    $ netstat -ax

  • 使用 p选项可以在列出连接的同时也显示 PID 或者进程名称
    $ netstat -ap

  • 使用 s 选项输出每个协议的统计信息,包括接收/发送的包数量
    $ netstat -s

  • 使用 I 选项只显示网卡的统计信息
    $ netstat -i

root@ying1:~# netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33     1500   148559      0  13675 0         60603      0      0      0 BMRU
lo       65536      403      0      0 0           403      0      0      0 LRU
  • 使用g 选项输出 IPV4以及IPV6 的多播组信息
    $ netstat -g

  • 使用 r 输出网络路由信息,
    $ netstat -r

  • 使用 c 选项持续输出结果
    $ netstat -c

  • 与grep 连用来过滤出某个端口的连接
    $ netstat -anp | grep 3306

2.查看用户进程

  • $ ps aux / ps -ef | grep firefox

a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。

root@ying1:~# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.5 101916 11388 ?        Ss   02:38   0:07 /sbin/init maybe-ubiquity
root           2  0.0  0.0      0     0 ?        S    02:38   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   02:38   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   02:38   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   02:38   0:00 [kworker/0:0H-kblockd]
root           9  0.0  0.0      0     0 ?        I<   02:38   0:00 [mm_percpu_wq]
root          10  0.0  0.0      0     0 ?        S    02:38   0:03 [ksoftirqd/0]
root          11  0.1  0.0      0     0 ?        I    02:38   0:49 [rcu_sched]
root          12  0.0  0.0      0     0 ?        S    02:38   0:00 [migration/0]
root          13  0.0  0.0      0     0 ?        S    02:38   0:00 [idle_inject/0]
root          14  0.0  0.0      0     0 ?        S    02:38   0:00 [cpuhp/0]
root          15  0.0  0.0      0     0 ?        S    02:38   0:00 [cpuhp/1]
root          16  0.0  0.0      0     0 ?        S    02:38   0:00 [idle_inject/1]
root          17  0.0  0.0      0     0 ?        S    02:38   0:00 [migration/1]
root          18  0.0  0.0      0     0 ?        S    02:38   0:02 [ksoftirqd/1]
root          20  0.0  0.0      0     0 ?        I<   02:38   0:00 [kworker/1:0H-kblockd]
root          21  0.0  0.0      0     0 ?        S    02:38   0:00 [kdevtmpfs]
root          22  0.0  0.0      0     0 ?        I<   02:38   0:00 [netns]
  • top
    动态交互式显示
root@ying1:~# top
top - 11:39:00 up  9:00,  2 users,  load average: 0.06, 0.02, 0.00
Tasks: 199 total,   1 running, 198 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.2 sy,  0.0 ni, 99.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1959.9 total,   1064.5 free,    244.4 used,    651.0 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1550.5 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
     11 root      20   0       0      0      0 I   0.3   0.0   0:49.60 rcu_sched
    252 root     -51   0       0      0      0 S   0.3   0.0   0:12.66 irq/16-vmwgfx
    464 root      20   0       0      0      0 S   0.3   0.0   2:02.94 jbd2/sda2-8
    703 root      rt   0  345844  18244   8284 S   0.3   0.9   0:41.58 multipathd
    812 systemd+  20   0   26864   8148   7096 S   0.3   0.4   0:00.80 systemd-network
   8913 root      20   0       0      0      0 I   0.3   0.0   0:20.06 kworker/0:1-events
  13961 root      20   0    9252   3756   3232 R   0.3   0.2   0:00.04 top
      1 root      20   0  101916  11388   8264 S   0.0   0.6   0:07.37 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.04 kthreadd
  • pstree -aup
    以树状图的方式展现进程之间的派生关系,显示效果比较直观。
root@ying1:~# pstree -aup
systemd,1 maybe-ubiquity
  ├─VGAuthService,738
  ├─accounts-daemon,829
  │   ├─{accounts-daemon},834
  │   └─{accounts-daemon},906
  ├─atd,865,daemon -f
  ├─cron,836 -f
  ├─dbus-daemon,837,messagebus --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
  ├─irqbalance,845 --foreground
  │   └─{irqbalance},851
  ├─login,911 -p --
  │   └─bash,3953,ying1
  ├─multipathd,703 -d -s
  │   ├─{multipathd},705
  │   ├─{multipathd},706
  │   ├─{multipathd},707
  │   ├─{multipathd},708
  │   ├─{multipathd},709
  │   └─{multipathd},710

3.杀死用户进程

  • kill -9 pid
    杀死进程号为pid的进程

fuser使用参考 : https://blog.csdn.net/feiyu5323/article/details/93621287

杀死端口进程

netstat -apn | grep 4040
kill -9 pid

参考文献:

  1. https://www.linuxprobe.com/linux-netstat.html
  2. https://www.cnblogs.com/hml-blog-com/p/11558369.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值