Linux常用命令总结

发布于:2025-02-11 ⋅ 阅读:(78) ⋅ 点赞:(0)

查询java服务的pid

JPS

查询pid上的进程占用的端口

要根据进程 ID(PID)查询该进程绑定的端口,你可以使用 lsofnetstat 等工具。下面是几种常见的方法:

方法 1:使用 lsof 查询端口

lsof 是一个非常强大的工具,可以用来列出当前系统中打开的文件和网络连接。使用 lsof 可以查询某个进程(通过 PID)所使用的端口。

命令:

sudo lsof -i -P -n | grep LISTEN | grep <PID>
  • -i:显示所有网络连接。
  • -P:显示端口号而不是端口名。
  • -n:显示 IP 地址而不是主机名。
  • LISTEN:过滤出处于监听状态的端口。
  • <PID>:你要查询的进程 ID。

示例:
假设你有进程 PID 12345,你可以运行:

sudo lsof -i -P -n | grep LISTEN | grep 12345

这将返回该进程所监听的端口。

输出示例:

java      12345    user   12u  IPv6 12345678      0t0  TCP *:8080 (LISTEN)

在这个例子中,PID 为 12345 的进程监听了 8080 端口。

方法 2:使用 netstat 查询端口

netstat 是另一个常用的命令,用来显示网络连接、路由表、接口统计信息等。你可以结合 netstatgrep 来查看某个进程的端口。

命令:

sudo netstat -tulnp | grep <PID>
  • -t:显示 TCP 连接。
  • -u:显示 UDP 连接。
  • -l:只列出监听的端口。
  • -n:以数字形式显示地址和端口号。
  • -p:显示进程 ID(PID)和名称。

示例:
假设你有进程 PID 12345,你可以运行:

sudo netstat -tulnp | grep 12345

输出示例:

tcp        0      0 0.0.0.0:8080               0.0.0.0:*                   LISTEN      12345/java

在这个例子中,PID 为 12345 的进程监听了 8080 端口。

方法 3:使用 ss 命令查询端口

ss 是一个替代 netstat 的工具,速度更快。你可以使用 ss 命令来查询进程的端口信息。

命令:

sudo ss -tulnp | grep <PID>
  • -t:显示 TCP 连接。
  • -u:显示 UDP 连接。
  • -l:只列出监听的端口。
  • -n:以数字形式显示地址和端口号。
  • -p:显示进程 ID(PID)和名称。

示例:
假设你有进程 PID 12345,你可以运行:

sudo ss -tulnp | grep 12345

输出示例:

LISTEN     0      128          *:8080                    *:*                   users:(("java",12345,9))

在这个例子中,PID 为 12345 的进程监听了 8080 端口。

system相关命令

要查看 systemctl 可启动的服务,可以使用以下命令:

  1. 查看所有服务的状态

    systemctl list-units --type=service
    

    这个命令会列出所有当前的服务单元(包括运行中、已停止等状态的服务)。其中,--type=service 选项只列出服务单元。

  2. 查看已启用的服务

    systemctl list-unit-files --type=service
    

    这个命令会列出所有服务单元文件,并显示它们是否启用(enabled)、禁用(disabled)或其他状态。

  3. 查看可以启动但没有启动的服务
    如果你想查看哪些服务未启动,可以结合 grep 使用:

    systemctl list-units --type=service --state=inactive
    

    这个命令会列出所有处于“非活动”状态的服务,也就是那些尚未启动的服务。

  4. 查看某个服务的状态
    如果你只想查看某个特定服务的状态,可以用以下命令:

    systemctl status <service-name>.service
    

    例如:

    systemctl status apache2.service
    
  5. 查看服务是否启用开机启动
    使用以下命令查看服务是否配置为开机启动:

    systemctl is-enabled <service-name>.service
    

    返回值为 enableddisabled

这些命令帮助你管理和查看系统中可启动的服务。


网站公告

今日签到

点亮在社区的每一天
去签到