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

news2024/10/5 15:33:43

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

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.coloradmin.cn/o/1221993.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vellum —— Constraint 约束

目录 Stretch Bend Pin Drag 解算器对DOP外节点的约束属性&#xff0c;只会读取起始帧的值&#xff1b; Stretch 保持点间的初始距离&#xff1b; Stiffness 越高的stiffness&#xff0c;就需要越多的迭代来收敛&#xff0c;如constraint iterations或substeps(子步会更好)…

IC设计企业,如何安全、可控、高效的传输设计文档和研发数据?

近年来&#xff0c;半导体的应用领域不断拓展&#xff0c;在全球经济和社会发展中的重要性与日俱增&#xff0c;半导体芯片是数字经济的核心&#xff0c;承载着现代产业发展&#xff0c;具有举足轻重的价值。从半导体行业的角度&#xff0c;IC设计是关键的一环&#xff0c;我国…

(C++)string类及其函数

愿所有美好如期而遇 标准库中的string类 string是对类模板实例化出的类型的重命名&#xff0c;也就是说string就是basic_string<char>这个类型。 string是表示字符串的字符串类 该类接口与常规类的接口基本相同&#xff0c;再添加了一些专门用来操作string的常规操作。…

2023年中职“网络安全“—Linux系统渗透提权③

2023年中职"网络安全"—Linux系统渗透提权③ Linux系统渗透提权任务环境说明&#xff1a;1. 使用渗透机对服务器信息收集&#xff0c;并将服务器中SSH服务端口号作为flag提交&#xff1b;2. 使用渗透机对服务器信息收集&#xff0c;并将服务器中主机名称作为flag提交…

腾讯云重新注册算不算新用户?算!

腾讯云重新注册算新用户&#xff0c;但有以下限制&#xff1a; 首先&#xff0c;实名认证信息不能沿用老账号的信息&#xff0c;必须使用新的信息进行认证。这是为了确保重新注册的账号能够被视为新用户&#xff0c;并享受到新用户的特权和优惠。 腾讯云双十一领9999代金券 h…

Spring Boot 中使用 ResourceLoader 加载资源的完整示例

ResourceLoader 是 Spring 框架中用于加载资源的接口。它定义了一系列用于获取资源的方法&#xff0c;可以处理各种资源&#xff0c;包括类路径资源、文件系统资源、URL 资源等。 以下是 ResourceLoader 接口的主要方法&#xff1a; Resource getResource(String location)&am…

一个iOS tableView 滚动标题联动效果的实现

效果图 情景 tableview 是从屏幕顶部开始的&#xff0c;现在有导航栏&#xff0c;和栏目标题视图将tableView的顶部覆盖了 分析 我们为了达到滚动到某个分区选中标题的效果&#xff0c;就得知道 展示最顶部的cell或者区头在哪个分区范围内 所以我们必须首先获取顶部的位置 …

23111706[含文档+PPT+源码等]计算机毕业设计SSM框架网上书城全套微信支付电商购物

文章目录 **软件开发环境及开发工具&#xff1a;****项目功能介绍&#xff1a;****论文截图&#xff1a;****实现&#xff1a;****代码片段&#xff1a;** 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 软件开发环境及开发工具&#xff…

深入了解百度爬虫工作原理

在当今数字化时代&#xff0c;互联网已经成为人们获取信息的主要渠道之一。而搜索引擎作为互联网上最重要的工具之一&#xff0c;扮演着连接用户与海量信息的桥梁角色。然而&#xff0c;我们是否曾经好奇过当我们在搜索引擎中输入关键词并点击搜索按钮后&#xff0c;究竟是如何…

(七)什么是Vite——vite优劣势、命令

vite分享ppt&#xff0c;感兴趣的可以下载&#xff1a; ​​​​​​​Vite分享、原理介绍ppt 什么是vite系列目录&#xff1a; &#xff08;一&#xff09;什么是Vite——vite介绍与使用-CSDN博客 &#xff08;二&#xff09;什么是Vite——Vite 和 Webpack 区别&#xff0…

hive sql 取当周周一 str_to_date(DATE_FORMAT(biz_date, ‘%Y%v‘), ‘%Y%v‘)

select str_to_date(DATE_FORMAT(biz_date, %Y%v), %Y%v)方法拆解 select DATE_FORMAT(now(), %Y%v), str_to_date(202346, %Y%v)

IDEA 集成 Docker 插件一键部署 SpringBoot 应用

目录 前言IDEA 安装 Docker 插件配置 Docker 远程服务器编写 DockerFileSpringBoot 项目部署配置SpringBoot 项目部署结语 前言 随着容器化技术的崛起&#xff0c;Docker成为了现代软件开发的关键工具。在Java开发中&#xff0c;Spring Boot是一款备受青睐的框架&#xff0c;然…

Hessian协议详解

前言 Hessian协议是一种基于二进制的轻量级远程调用协议&#xff0c;用于在分布式系统中进行跨语言的通信。它使用简单的二进制格式来序列化和反序列化数据&#xff0c;并支持多种编程语言&#xff0c;如Java、C#、Python等。Hessian协议相对于其他协议的优势在于其简单性和高…

MPN – 制造零件号

S/4 1610 中的 MPN – 基于 NAST 的输出管理 我试图查找有关 MPN 设置的信息&#xff0c;但找不到详细的配置步骤。在浏览了一些信息和 help.sap 链接后&#xff0c;我能够在 S/4 1610 系统中配置 MPN 设置&#xff0c;这与使用旧输出类型&#xff08;Nast 和输出类型 NEU&…

初学Redis(Redis的启动以及字符串String)

首先使用在Windows PowerShell中输入指令来启动Redis&#xff1a; redis-server.exe 然后通过指令连接Redis&#xff1a; redis-cli 上图的127.0.0.1是计算机的回送地址 &#xff0c;6379是默认端口 上述代码中创建了两个键&#xff0c;注意Redis中严格区分大小写&#xff0…

C语言入门这一篇就够了(进阶篇)

C语言入门这一篇就够了&#xff08;入门篇1&#xff09; C语言入门这一篇就够了&#xff08;入门篇2&#xff09; 上两篇讲了C语言的基本知识和基本语法&#xff0c;接下来讲C语言结构和实战项目 C语言的函数调用 在C语言中&#xff0c;函数是一种可重用的代码块&#xff0c;它…

LrC ACR :优化的 AI 天空蒙版

在 Lightroom Classic 和 Adobe Camera Raw 中创建基于 AI 技术的天空蒙版时&#xff0c;可能由于底层算法的原因&#xff0c;选中的天空蒙版在边缘处有晕开的现象&#xff08;又称为“出血” Bleed&#xff09;&#xff0c;从而导致天空蒙版不是很精准。 本文提供了一种特殊方…

广州华锐互动VRAR:利用VR开展刑事案件公安取证培训,沉浸式体验提升实战能力

随着科技的飞速发展&#xff0c;虚拟现实(VR)技术为我们的生活和工作带来了前所未有的便利。近年来&#xff0c;VR技术在刑事案件公安取证培训中的应用逐渐显现出其独特优势。通过模拟真实的犯罪现场&#xff0c;VR技术为学员提供了沉浸式的体验&#xff0c;使他们在安全的环境…

C语言--统计一行字符串的单词个数, 单词用非字母分割.例如“ab235adg 456ad“被认为是3个单词.

一.题目描述 统计一行字符串的单词个数, 单词用非字母分割. 例如"ab235adg 456ad"被认为是3个单词. 二.思路分析 本题的主要难点在于如何判断有一个单词呢&#xff0c;当然遍历字符串是必须的。下面给出两种不同的思路&#xff1a; 一.当前是字母&#xff0c;下一个…

LeetCode | 232. 用栈实现队列

​ LeetCode | 232. 用栈实现队列 OJ链接 解题思路&#xff1a; 此题可以用两个栈实现&#xff0c;一个栈进行入队操作&#xff0c;另一个栈进行出队操作出队操作&#xff1a; 当出队的栈不为空是&#xff0c;直接进行出栈操作&#xff0c;如果为空&#xff0c;需要把入队的…