资讯专栏INFORMATION COLUMN

如何查看Java进程和线程?你get了没?

不知名网友 / 1390人阅读

摘要:命令菜鸟教程命令菜鸟教程提供一个测试类,为防止线程运行结束,代码中使用了循环,同时防止完全占用,使用睡眠秒,让出执行时间。

  •  备战2022春招或暑期实习,祝大家每天进步亿点点!Java并发编程Day5
  • 本篇总结的是 如何在Java中避免创建不必要的对象,后续会每日更新~
  • 关于《我们一起学Redis》、《我们一起学HarmonyOS》等知识点可以查看我的往期博客
  • 相信自己,越活越坚强活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!

目录

1、Windows

通过任务管理器查看进程信息

通过控制台查看进程信息

taskkill 杀死进程

2、Linux

ps -ef 命令查看

kill 杀死进程

top 命令查看

3、Java自带工具

jps 查看进程id

jstack 查看进程中的线程状态

jconsole 图形化界面


1、Windows

通过任务管理器查看进程信息

在进程页签中查看Java进程,我是idea启动,因此可以在idea下查看相关进程

此外可以在详细信息页签下Ctrl+f搜索java

通过控制台查看进程信息

进入CMD,键入tasklist,可以查看所有的进程信息,包括进程ID、内存使用情况

查看Java相关的进程,可以添加过滤条件 tasklist | findstr "java" ,需要注意windows中字符串需要使用双引号,要不就不加也是可以的

如果是在IDEA中启动程序,可以借用idea的Terminal终端执行命令

taskkill 杀死进程

杀死进程使用taskkill /pid 指定进程id,如果无法杀死,可以尝试强制杀死taskkill /pid 进程id -t -f

可以看到idea控制台中进程已结束

通过tasklist | findstr 进程id 已经无法查询到该进程,说明进程终止成功

2、Linux

ps -ef 命令查看

Linux下可以通过ps -ef查看所有进程信息,具体参数说明如果不知道的可以看看菜鸟网站的简单介绍,如下链接可以直达。

Linux ps 命令 | 菜鸟教程

提供一个测试Java类,为防止线程运行结束,代码中使用了while(true)循环,同时防止完全占用CPU,使用TimeUnit.SECONDS.sleep(2)睡眠2秒,让出CPU执行时间。

通过javac ThreadDemo2.java编译ThreadDemo2.java类,生成对应的class文件-ThreadDemo2.class;之后通过java -cp / com.lzb.concurrency.demo1.ThreadDemo2运行

查看ThreadDemo2的进程信息ps -ef | grep ThreadDemo2(注意需要新开一个Shell窗口

 

kill 杀死进程

使用kill 进程id,杀死进程

top 命令查看

查看所有进程信息,可以使用top命令

查看指定进程的信息,使用top -p 进程id,查看指定进程下的所有线程信息,可以使用top -H -p 进程id
具体参数描述可以参考下菜鸟网站的简单介绍,如下链接可以直达。

Linux top 命令 | 菜鸟教程

3、Java自带工具

jps 查看进程id

Java自带的命令就不区分平台了,如果需要查看所有的Java进程id,可以使用jps

jstack 查看进程中的线程状态

查看某个Java进程的线程状态,可以结合jps一起使用,先通过jps查询进程的id,然后通过jstack查询进程中的所有线程的状态,需要注意的是jstack查询的线程状态,是该进程在查询时刻的线程状态(瞬时态)
信息比较多并未展示完全

jconsole 图形化界面

jconsole是jdk自带的监控内存、线程、类等资源情况的图形化界面。
在windows 环境下,可以直接双击运行jdk安装目录bin文件夹下的jconsole.exe文件

如果是本地Java进程,可以勾选本地进程,然后再本地进程中找到你的Java进程,选中后点击连接即可

本地连接不需要密码验证,选择不安全连接即可,如下即为jconsole的界面

如果java进程运行在远程Linux服务器上,则需要使用远程连接

远程连接需要ip port username password等信息,此时我们需要使用如下方式运行Java类

java -Djava.rmi.server.hostname="ip地址" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port="端口" -Dcom.sun.management.jmxremote.ssl=是否安全连接 -Dcom.
sun.management.jmxremote.authenticate=是否需要认证 java类

?? 关注公众号 获取更多资料??
 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125604.html

相关文章

  • OM引起的注意了吗?

    摘要:引曾几何时这句话总是在你的程序中出现,新手到是什么问题后就去改了内存大小还总是分不清楚,想的是总之设大点我就看不到这个错误了。稍微有点经验的会翻翻看看什么地方会出现内存泄露,当然也会改参数,但会有节制的改了。 引 曾几何时java.lang.OutOfMemoryError: Java heap space这句话总是在你的程序中出现,新手search到是什么问题后就去改了内存大小还总...

    loonggg 评论0 收藏0
  • java中的AIO

    摘要:会关联线程池,它的任务是接收处理事件,并分发给负责处理通道中操作结果的结果处理器。跟通道中发起的操作关联的结果处理器确保是由线程池中的某个线程产生。基本思想是主线程会派一个侦查员到独立的线程中执行操作。 简介 jdk7中新增了一些与文件(网络)I/O相关的一些api。这些API被称为NIO.2,或称为AIO(Asynchronous I/O)。AIO最大的一个特性就是异步能力,这种能力...

    邹强 评论0 收藏0
  • 美团实习Java岗面经,已拿offer

    摘要:作者链接来源牛客网今天刚刚收到的电话,开心,简单记录一下美团的面经。当时面试官评价基础不是很好,其他还行。的三次握手四次挥手。整体感觉美团的面试比较基础,但是各个方面都有涉及到。 作者:icysnowgx链接:https://www.nowcoder.com/disc...来源:牛客网 今天刚刚收到hr的电话,开心,简单记录一下美团的面经。时间隔的比较久了,简单回忆下,最后会给出我之前...

    OnlyMyRailgun 评论0 收藏0
  • 春招:我居然三天就拿到了offer?

    摘要:算法名称描述优点缺点标记清除算法暂停除了线程以外的所有线程算法分为标记和清除两个阶段首1 回顾我的时间线 在本文的开头,先分享一下自己的春招经历吧: 各位掘友大家好,我是练习时长快一年的Android小蔡鸡,喜欢看源码,逛掘金,写技术文章...... 好了好,不开玩笑了OWO,今年春招投了许多简历的,但是被捞的只有阿里,头条和美团,一路下来挺不容易的. 个人认为在春招中运气>性格>三观>技术...

    stormjun 评论0 收藏0
  • 分享2019年蚂蚁金服面经(已拿Offer)!附答案!!

    摘要:由于线程被无限期地阻塞,因此程序不可能正常终止。因而,红黑树是相对是接近平衡的二叉树。旋转的目的是让树保持红黑树的特性。三次握手和四次挥手面试常客为了准确无误地把数据送达目标处,协议采用了三次握手策略。由于作者面试过程中高度紧张,本文中只列出了自己还记得的部分题目。经历了漫长一个月的等待,终于在前几天通过面试官获悉已被蚂蚁金服录取,这期间的焦虑、痛苦自不必说,知道被录取的那一刻,一整年的阴霾...

    isLishude 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<