Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在Linux下快速找到Java进程启动的JAR文件

如何在Linux下快速找到Java进程启动的JAR文件

原创
作者头像
高久峰
发布于 2024-06-28 10:35:00
发布于 2024-06-28 10:35:00
1.7K0
举报

如何在Linux下快速找到Java进程启动的JAR文件

在线上环境中,当CPU占用率异常高时,经常需要定位到是哪个Java进程导致的,并进一步找到该进程启动的JAR文件。以下提供了几种方法来帮助你快速找到这些信息。

方法一:通过/proc文件系统
  1. 查看Java进程编号: 使用top命令或其他进程管理工具查看Java进程的PID(进程编号)。
  2. 查看进程文件/proc/[PID]/exe 是一个指向进程实际执行文件的符号链接。但通常这会指向Java运行时(如/usr/java/jdk1.8.0_121/jre/bin/java),而不是JAR文件本身。
  3. 查看进程启动目录/proc/[PID]/cwd 是一个指向进程当前工作目录的符号链接。这通常是JAR文件所在的目录,但JAR文件的完整路径和名称不会直接给出。

你可以使用ls -l /proc/[PID]/cwd来查看该目录的内容,并手动查找JAR文件。

方法二:使用jps命令

jps(Java Virtual Machine Process Status Tool)是JDK提供的一个命令行工具,它可以列出所有正在运行的Java进程,并显示它们的PID以及启动的JAR文件或类的完全限定名。

使用jps -l命令可以列出带有JAR文件或类名的Java进程。

方法三:使用pgrep命令

pgrep命令用于查找与给定模式匹配的进程,并打印出它们的PID。结合-a选项,pgrep还可以打印出完整的命令行参数。

使用pgrep -a java命令可以列出所有包含java关键字的进程及其完整的命令行参数。这通常包括启动Java进程的完整命令,包括JAR文件的路径。

总结
  • /proc文件系统提供了关于进程的详细信息,但可能需要手动查找JAR文件。
  • jps命令直接列出了Java进程的PID和启动的JAR文件或类名,非常方便。
  • pgrep命令可以列出包含java关键字的进程及其完整命令行参数,通常也包含JAR文件的路径。

在实际使用中,你可以根据具体情况选择最适合你的方法。如果只需要快速查看正在运行的Java进程及其启动的JAR文件,jps命令通常是最简单直接的选择。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ImportError: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by /usr/local/python37/lib/p
这个错误的出现往往与我前面的一篇文章 ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required by /usr/local/python37/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so) 的错误共同出现,这两个错误不仅看似相似,解决办法相似,而且还有极大的关联性,一不小心,可能就会陷入极难修复的境地。
马一特
2020/09/08
6K0
/usr/lib64/libxml2.so.2: version `LIBXML2_2.9.0′ not found (required by /usr/local/lib/libxslt.so.1)
背景:启动tengine报错/usr/lib64/libxml2.so.2: version `LIBXML2_2.9.0' not found (required by /usr/local/lib/libxslt.so.1),环境centos6.9
Tommy Lin
2023/11/16
5330
ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required by /usr/local/python37/lib
使用在AI项目中,由于需要用到tensorflow,scipy,sklearn等这些库,所以需要libstdc++库。
马一特
2020/09/08
8630
使用Docker实现Jenkins+Python + Pytest +Allure 接口自动化
为了安装wget,默认用yum会安装不上wget命令,参考文章《docker容器内如何更换yum源【只想换成国内源而已】》
软件测试君
2023/09/14
1.3K0
使用Docker实现Jenkins+Python + Pytest +Allure 接口自动化
CentOS7下安装python3.8
有一台centos7服务器,自带的是python2.7,所以想升级到python3,以下即是详细升级步骤,方便日后查询。
Power
2025/03/04
2710
centos下安装Python3
接下来我们手动安装python3,并且配置后可以Python2和Python3两个环境都能使用。
软件架构师Michael
2023/12/06
9661
以1个具体接口为例来展示腾讯云.NET SDK的使用
【.NET Core和ASP.NET Core】是什么,它们跟【.NET Framework和ASP.NET】的区别是什么,为什么要选用前者
Windows技术交流
2020/03/13
1.9K0
ubuntu14.04.1升级openssh
由于ubuntu14.04.1默认的openssh是5.6p1版的,有很多安全漏洞,所以计划升级至openssh7.5p1 一、下载升级所需的软件 zlib-1.2.11.tar.gz openssh-7.5p1.tar.gz openssl-1.0.2l.tar.gz
孙杰
2019/10/29
1.6K0
ubuntu14.04.1升级openssh
CentOS 7 下安装 Python
当前最新的 CentOS 7.3 默认安装的是 Python 2 ,并且默认的官方 yum 源中不提供 Python 3 的安装包。最近需要在机器上装awscli,需要python2.6.5+或python3.3+,python3我这边通过源码编译的方式安装。 我的机器版本:
py3study
2020/01/06
9730
Python缺少zlib的问题
参考: 解决python3缺少zlib的问题 Python安装zlib模块
py3study
2020/01/09
4.8K0
Python3安装
一、安装编译环境 yum install -y gcc zlib zlib-devel python-devel libffi-devel python-setuptools sqlite-devel
py3study
2020/01/03
6220
在CentOS8下安装Python3和ansible
在CentOS7中,可以直接通过yum安装ansible。但是CentOS8的默认yum源下已不再提供ansible的安装包了,转而需要通过Python的pip命令进行安装,这也是为什么需要先安装Python的原因。
端碗吹水
2020/09/23
2.8K0
在CentOS8下安装Python3和ansible
Linux上如何手动升级OpenSSH版本?解决CVE-2021-41617漏洞
有小伙伴问,如何解决CVE-2021-41617漏洞漏洞?增加我Linux服务器的安全性:
Mintimate
2021/09/29
10.9K4
Linux上如何手动升级OpenSSH版本?解决CVE-2021-41617漏洞
macOS和Linux上手动编译OpenCV并作为依赖添加到Python/C++/Java
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。
Mintimate
2021/09/28
6.6K1
macOS和Linux上手动编译OpenCV并作为依赖添加到Python/C++/Java
centos6.5下安装OpenCV+P
Python调用opencv的原理是:opencv编译出共享库文件,python把这个共享库文件作为一个模块加载并使用。通俗点就是,编译opencv的时候开启python接口选项,编译好了会产生cv2.so(linux下)或者cv2.pyd(windows下)这个共享库文件,python代码中import这个cv2就可以用了。为了能正确import它,往往需要把cv2.so放在python找包能找到的路径下,或者修改PYTHONPATH环境变量让它包含cv2.so所在路径。此外,python的opencv接口中,图像使用numpy数组表示的,所以往往还需要安装numpy、scipy、matplotlib这几个包。
py3study
2020/01/09
1K0
centos6.5下安装OpenCV+P
Python安装zlib模块
先去http://www.zlib.net/下载最新版本的zlib源码文件 安装zlib: []#tar xzvf zlib-1.2.8.tar.gz []#cd zlib-1.2.8 []#./configure []#make []#make install zlib安装完后,libz.a在/usr/local/lib/,zlib.h文件在/usr/include (opensuse中zlib.h默认放在/usr/local/include/中)
py3study
2020/01/06
4.4K0
python3.7错误ImportError: /lib64/libc.so.6: version `GLIBC_2.18' not found
编译安装glibc wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz tar xf glibc-2.18.tar.gz cd glibc-2.18 mkdir build cd build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make make install 验
陳斯托洛夫斯記
2022/10/27
6760
[1317]centos7 node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found
centos7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题。
周小董
2024/12/29
1.3K0
编译自定义Python二进制程序
工作中需要自行编译一个Python二进制程序,并尽量减少该程序依赖的库文件,使之在相同CPU架构上有更良好的可移植性。先找了下网上的资料,都不太详尽,经过探索最终还是成功了,这里记录一下过程以备忘。
jeremyxu
2019/03/13
2K0
centos7安装python3.8_centos python3安装
centos7自带版本是python2.7 centos8是自带python3的 如果要用的3.0以上的版本需要手动安装,下载地址:https://www.python.org/ftp/python/
全栈程序员站长
2022/11/09
7510
推荐阅读
相关推荐
ImportError: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by /usr/local/python37/lib/p
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档