Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь. При использовании Linux вам необходимо знать, какие порты в данный момент открыты в системе, а для просмотра конкретных процессов и пользователей, открывших эти порты, вы можете использовать команду netstat для простого запроса. Каждый параметр команды netstat объясняется следующим образом: -t : Укажите TCP-порт для отображения -u : Укажите UDP-порт дисплея -l : Отображается только сокет прослушивания (так называемый сокет — это программа, которая позволяет приложению читать, записывать, а также отправлять и получать протоколы связи и данные) -p : Отображение идентификатора процесса и имени программы, каждый сокет/порт принадлежит программе. -n : Нет опроса DNS, отображение IP (может ускорить работу) Могут быть отображены все порты и сервисы процессов на текущем сервере. В сочетании с grep вы можете просмотреть конкретный порт и статус сервиса. netstat -ntlp //Просмотр всех текущих портов TCP· netstat -ntulp |grep 80 //Просмотр всех 80 портов ·
netstat -ntulp | grep 3306 //Просмотр всего использования порта 3306·
Проверьте статус занятости порта программы в Linux Используйте команду: ps -aux | grep кот Было обнаружено, что на порту 8080 нет процесса Tomcat. Используйте команду: netstat –apn Просмотрите все процессы и использование портов. Обнаружен следующий список процессов, последний столбец которого – имя PID/программы. Было обнаружено, что порт 8080 занят Java-процессом с PID 9658. Далее используйте команду: ps -aux | grep java, или напрямую: ps -aux grep pid для просмотра Вы можете четко знать, какая программа занимает порт 8080! Затем определите, следует ли использовать команду KILL для его уничтожения! Способ 2. Используйте netstat -anp | grep portno напрямую. То есть: netstat -anp|grep 8080.
netstat -anp|grep 8080 –> tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 28500/java ps -aux | grep 28500 –> r/local/tomcat9-jforum/tomcat
Установить lsof list open файлы // — также возможно netstat -tunlp|grep номер порта netstat -anp|grep номер порта yum install lsof lsof -i:8080 Проверьте занятость порта 8080 lsof abc.txt Отображение процесса открытия файла abc.txt lsof -c abc Отобразить файлы, открытые в данный момент процессом abc lsof -c -p 1234 Список файлов, открытых процессом с номером процесса 1234. lsof -g gid Отображение статуса процесса, принадлежащего gid lsof +d /usr/local/ Отображение файлов, открытых процессом в каталоге lsof +D /usr/local/ То же, что и выше, но он будет искать каталоги внутри каталога, что занимает много времени. lsof -d 4 Отображение процессов с помощью fd 4 lsof -i Используется для отображения процессов, соответствующих условиям. lsof -i[46] [protocol][@hostname|hostaddr][:service|port] 46 –> IPv4 or IPv6 protocol –> TCP or UDP hostname –> Internet host name hostaddr –> IPv4-адрес service –> /etc/сервис в service name (может быть больше одного) port –> номер порта (может быть больше одного) lsof -i //Показать все открытые порты lsof -i:80 //Показать все процессы,открывающие порт 80 lsof -i -U //Показать все открытые портыиUNIX файл домена
На самом деле, я обычно использую это так:
[root@VM_39_230_centos bin]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 16422 mysql 19u IPv6 148794 0t0 TCP *:mysql (LISTEN) mysqld 16422 mysql 39u IPv6 643698 0t0 TCP localhost:mysql->localhost:36582 (ESTABLISHED) mysqld 16422 mysql 45u IPv6 643699 0t0 TCP localhost:mysql->localhost:36584 (ESTABLISHED) mysqld 16422 mysql 46u IPv6 643700 0t0 TCP localhost:mysql->localhost:36586 (ESTABLISHED) mysqld 16422 mysql 47u IPv6 643702 0t0 TCP localhost:mysql->localhost:36588 (ESTABLISHED) mysqld 16422 mysql 48u IPv6 643704 0t0 TCP localhost:mysql->localhost:36590 (ESTABLISHED) java 17302 root 122u IPv4 643695 0t0 TCP localhost:36582->localhost:mysql (ESTABLISHED) java 17302 root 123u IPv4 643701 0t0 TCP localhost:36588->localhost:mysql (ESTABLISHED) java 17302 root 124u IPv4 643696 0t0 TCP localhost:36586->localhost:mysql (ESTABLISHED) java 17302 root 125u IPv4 643697 0t0 TCP localhost:36584->localhost:mysql (ESTABLISHED) java 17302 root 126u IPv4 643703 0t0 TCP localhost:36590->localhost:mysql (ESTABLISHED)
или [root@VM_39_230_centos bin]#netstat -ntulp | группа 3306 tcp6 0 0 :::3306 :::* СПИСОК 16422/mysqld
Найдите pid, а затем
[root@VM_39_230_centos bin]# ps -aux | grep 16422 mysql 16422 0.0 47.7 1340428 485944 ? Sl Jun29 1:46 /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –plugin-dir=/usr/lib64/mysql/plugin –log-error=/var/lib/mysql/VM_39_230_centos.err –pid-file=/var/lib/mysql/VM_39_230_centos.pid root 25713 0.0 0.0 112616 700 pts/0 R+ 17:04 0:00 grep –color=auto 16422
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/164655.html Исходная ссылка: https://javaforall.cn