linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解

一 、根据端口号 查看文件的部署位置

1.1 使用查看端口号对应的进程信息

  • 方式一 :
    使用netstat命令
netstat -tuln | grep 端口号
  • -t:显示TCP连接

  • -u:显示UDP连接

  • -l:仅显示监听状态的连接

  • -n:以数字形式显示端口号,而不是以服务名称显示

通过管道符号|将netstat的输出结果传递给grep命令,用于过滤出包含指定端口号的行。

执行命令后,终端将显示与该端口号相关的进程信息,包括进程ID(PID)和进程名称。

  • 方法二:使用lsof命令
lsof -i :端口号
  • -i:显示与网络相关的文件

  • :端口号:过滤出指定端口号的结果

执行命令后,终端将显示与该端口号相关的进程信息,包括进程ID(PID)和进程名称。

2. 通过进程pid 查询对应的部署文件的进程文件位置

  • 方式一
    使用/proc/pid
    查看进程的文件的位置
ll /proc/PID

在这里插入图片描述

cwd符号链接的是进程运行目录;

exe符号连接就是执行程序的绝对路径;

cmdline就是程序运行时输入的命令行命令;

environ记录了进程运行时的环境变量;

fd目录下是进程打开或使用的文件的符号连接。

  • 方式二
    通过
ps -ef |grep 服务名

显示服务的启动参数 服务名 ,进程pid 进程位置

二 、根据进程pid 查询占用的服务 端口

1、netstat命令

使用netstat命令可以查看系统的网络连接和监听情况。以下是使用netstat命令查看程序占用端口号的示例:

netstat -tuln | grep<进程名或PID>

该命令将列出所有正在监听和建立的TCP和UDP连接,并筛选出与指定进程相关的端口号信息。

2、lsof命令

lsof命令可以列出系统当前打开的文件和进程信息。以下是使用lsof命令查看程序占用端口号的示例:

lsof -i :<端口号>

lsof -i TCP:<端口号>

lsof -i UDP:<端口号>

该命令将列出所有占用指定端口号的进程信息。

3、ss命令

ss是netstat的替代工具,提供更快速和高效的网络连接信息查询。以下是使用ss命令查看程序占用端口号的示例:

ss -tuln | grep <进程名或PID>

该命令将列出所有正在监听和建立的TCP和UDP连接,并筛选出与指定进程相关的端口号信息。

4、/proc文件系统

Linux系统中,每个运行的进程都有一个对应的目录在/proc目录下,可以通过访问这些目录中的文件获取相关信息。以下是使用/proc文件系统查看程序占用端口号的示例:

ls -l /proc//fd | grep socket

其中,为进程的PID,该命令将列出指定进程的打开的套接字文件链接,从中可以获取端口号。

4. 方式 三

https://blog.csdn.net/tjcwt2011/article/details/129390090
使用以下命令

ss:可以用于转储套接字统计信息。

netstat:可以显示打开的套接字列表。

lsof:可以列出打开的文件。

fuser:可以列出那些打开了文件的进程的进程 ID。

nmap:是网络检测工具和端口扫描程序。

systemctl:是 systemd 系统的控制管理器和服务管理器。

以下我们将找出 sshd 守护进程所使用的端口号。

三 、nginx 通过端口查看配置文件和日志

查看配置

1. 查看nginx的进程id

#查询nginx是9000端口的PID
netstat -lntup | grep 9000

在这里插入图片描述

2. 查询对应端口的nginx路径

ll /proc/pid/

ll /proc/15029/

在这里插入图片描述

在nginx 执行目录下查看配置文件的目录

使用-t参数获取改进程对应的配置文件路径

/usr/local/nginx/sbin/nginx -t

在这里插入图片描述

nginx 服务命令

#启动
sbin/nginx -s start
#停止
sbin/nginx -s stop
#重启
sbin/nginx -s reload

nginx 的日志

在默认情况下,Nginx 服务器会将访问日志记录到 access.log 中,错误日志记录到 error.log 中。

  • access.log 主要用于监控 Web 请求,
  • error.log 则用于诊断 Web 服务器的错误和问题

Nginx 日志文件的配置可以在 Nginx 配置文件中进行。以下是几个常用的配置选项:

access_log:指定访问日志文件的路径和名称,可以包含变量和时间格式。例如:

access_log /var/log/nginx/access.log main_log;

上述配置将访问日志文件保存在 /var/log/nginx/access.log 中,使用 main_log 作为时间格式。

  1. error_log:指定错误日志文件的路径和名称。例如:
error_log /var/log/nginx/error.log info;

四、lsof 命令详解

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 -U:显示所有打开的端口和UNIX domain文件

在这里插入图片描述

netstat 命令

-a 显示所有连接
-t 显示tcp连接
-u 显示udp连接
-l 显示监听端口的链接
-p 显示监听端口对应的程序
-n 禁止将端口号转换成别名显示

netstat 过滤监听状态的UDP端口

netstat -lup|grep 323

在这里插入图片描述
说明:

323:代表要过滤的端口号

lup:三个参数表示显示UDP端口监听状态的程序名称

grep:根据端口号到过滤

netstat 过滤监听状态的TCP端口

netstat -ltnp|grep 22

在这里插入图片描述
说明:

22:代表要过滤的端口号

ltnp:四个参数表示显示TCP端口监听状态的程序名称

grep:根据端口号到过滤

netstat 过滤监听状态的TCP端口别名

netstat -ltp|grep ssh

在这里插入图片描述

说明:

22:代表要过滤的端口号

ltp:三个参数表示显示TCP端口别名监听状态的程序名称

grep:根据端口别名到过滤

netstat 命令返回值说明

netstat -anp

在这里插入图片描述
说明:

Proto:代表协议(tcp、tcp6、udp、udp6)

Recv-Q:数据已经在本地接收缓冲,但是还没有recv()

Send-Q:对方没有收到的数据或者说没有Ack的,还是本地缓冲区

Local Address: 本地IP:本地端口

Foreign Address: 远程IP:远程端口

State:链接状态(监听状态、建立连接状态等)

PID:进程PID号

Program name:程序名字

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/191606.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

App测试经典面试题及参考答案

最近整理了一些关于App测试的面试题。 本参照答案是本人在工作实践中总结&#xff0c;仅代表个人观点&#xff0c;如有错误&#xff0c;请谅解。 1、说一些你在测试过程中常用到的adb命名 2、APP测试与web测试的区别&#xff1f; 3、APP闪退有哪些原因造成的&#xff1f; …

人工智能轨道交通行业周刊-第65期(2023.10.30-11.19)

本期关键词&#xff1a;高铁自主创新、智慧城轨、调车司机、大模型垂直应用、大模型幻觉 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道…

STL简介

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解c中的STL库 > 毒鸡汤&#xff1a;路难行&a…

Redis 9 数据库

4 设置键的生存时间或过期时间 通过EXPIRE命令或者PEXPIRE命令&#xff0c;客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间&#xff08;TimeToLive&#xff0c;TTL&#xff09;&#xff0c;在经过指定的秒数或者毫秒数之后&#xff0c;服务器就会自动删除生存时间…

记录联系ThinkPad T490扬声器无声音但插耳机有声音的解决办法

型号&#xff1a;联想ThinkPad T490&#xff0c;系统Win10 64位。 现象&#xff1a;扬声器无声音&#xff0c;插耳机有声音。且右下角小喇叭正常&#xff0c;设备管理器中驱动显示一切也都正常&#xff08;无黄色小叹号&#xff09;。 解决办法&#xff1a; 尝试了各种方法&a…

在vmware中给linux添加硬盘

1.必须在断开linux电源的情况下&#xff0c;才能添加硬盘成功。注&#xff1a;自己好几次在开机状态下添加硬盘都失败了&#xff0c;然后关机后&#xff0c;又试了下&#xff0c;居然成功了。

链式前向星

性质 一种邻接表的写法 关键点&#xff1a; 数据结构 // 边 class Edge {int next; // 指向相同起始点的下一条边int to; // 邻接点int w; // 权重 } Edge[] edge new Edge[9]; // edge[cnt]表示编号为cnt的边// 用数组表示 int[] next new int[MAX]; int[] to new int[M…

【机器学习Python实战】logistic回归

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习python实战 欢迎订阅&#xff01;后面的内容会越来越有意思~ ⭐内容说明&#xff1a;本专栏主要针对机器学习专栏的基础内容进行python的实现&#xff0c;部分…

算法-二叉树-简单-二叉树的遍历

记录一下算法题的学习6 首先我们要回忆一下怎么样遍历一个树&#xff1a; 三种遍历概念 先序遍历&#xff1a;先访问根节点&#xff0c;再访问左子树&#xff0c;最后访问右子树。 后序遍历&#xff1a;先左子树&#xff0c;再右子树&#xff0c;最后根节点。 中序遍历&…

DEEP-FRI: Sampling Outside the Box Improves Soundness论文学习笔记

1. 引言 前序博客有&#xff1a; DEEP FRI协议A summary on the FRI low degree test前2页导读RISC Zero的手撕STARKReed-Solomon Codes——RS纠错码Reed-Solomon Codes及其与RISC Zero zkVM的关系 Eli Ben-Sasson等人2019年论文《DEEP-FRI: Sampling Outside the Box Impro…

从键盘输入5个学生的信息(姓名、学号、成绩), 存入一个结构体数组中,计算平均分,并按成绩 高低排序并输出.

代码如下 #include<stdio.h> #include<string.h> #include<stdlib.h> /* 1.练习结构体数组排序   从键盘输入5个学生的信息&#xff08;姓名、学号、成绩&#xff09;,存入一个结构体数组中&#xff0c;计算平均分&#xff0c;并按成绩高低排序并输出. */…

harmonyOS鸿蒙开发工具下载安装以及使用流程

注册账号 进入鸿蒙官方网站&#xff1a;https://www.harmonyos.com/ 推荐使用手机号注册 进行实名认证 下载开发环境 华为集成开发环境IDE DevEco Device Tool下载 | HarmonyOS设备开发 下载开发工具 HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 安装 无脑下一…