精华内容
下载资源
问答
  • 通过 ps -ef | grep java 得到如上线程将某线程终止时用 kill -9 XXXXX XXXXX为上述查出的序号 如: 19979线程终止为: kill -9 4834 kill一个线程时需注意不要误停止了不应该停止的线程造成不必要的麻烦。 ...

    [root@vm-linux-x86 ~]# ps -ef|grep java

    root      4834     1  2 Jun10 pts/6    03:10:50 /opt/JDK/jdk1.6.0_21/bin/java -classpath /opt/JReport/Server_B201106081302/derby/lib/*:/opt/JReport/Server_B201106081302/lib/JREngine.jar:/opt/JReport/Server_B201106081302/lib/JRESServlets.jar:/opt/JReport/Server_B201106081302/lib/JRStructuredEngine.jar:/opt/JReport/Server_B201106081302/lib/JRStructuredClient.jar:/opt/JReport/Server_B201106081302/lib/JREntServer.jar:/opt/JReport/Server_B201106081302/lib/JRWebDesign.jar:/opt/JReport/Server_B201106081302/lib/*:/opt/JDK/jdk1.6.0_21/lib/tools.jar:/opt/JReport/MyReports/Data/DBdrivers/classes12.jar:/opt/JReport/MyReports/Data/DBdrivers/dbdrivers2.zip:/opt/JReport/MyReports/Data/DBdrivers/dbdrivers3.zip: -Dinstall.root=/opt/JReport/Server_B201106081302/ -Djava.net.preferIPv4Stack=true -Djreport.url.encoding=UTF-8 -Xmx1600m -XX:PermSize=64m -XX:MaxPermSize=128m -Dreporthome=/opt/JReport/Server_B201106081302 jet.server.JREntServer

    root      5857  5804  0 10:11 pts/7    00:00:00 grep java

    [root@vm-linux-x86 ~]# kill -9 4834


    通过 ps -ef | grep java  得到如上线程将某线程终止时用 

    kill -9 XXXXX     XXXXX为上述查出的序号  如: 19979线程终止为: kill -9 4834 


    kill一个线程时需注意不要误停止了不应该停止的线程造成不必要的麻烦。 

    在相当确信时才可用此方法停止线程。

    展开全文
  • netstat -ntlp|grep java kill -9 123

    netstat -ntlp|grep java

    kill -9 123

    展开全文
  • linux 强制杀掉java线程

    千次阅读 2017-03-22 11:02:59
    kill -9 `pgrep java` 其中-9表示强制;``表示优先执行这里面的代码,类似括号;pgrep java表示查找java的所有线程,可以抽出来单独执行; 这个命令只有整个服务器启动的java应用我们都知道的情况下,可以这么...

    kill -9 `pgrep java`  其中-9表示强制;``表示优先执行这里面的代码,类似括号;pgrep java表示查找java的所有线程,可以抽出来单独执行;


    这个命令只有整个服务器启动的java应用我们都知道的情况下,可以这么玩,否则把整个服务器的java程序都关闭了,其他部署好的项目也一并挂了!

    展开全文
  • /**  *   * @author doctor  *  * @date 2014年8月23日 下午8:46:37 ...* 1、linux 命令 kill -3 pid 对于线程状态观察,eclipse console 会输出 * 2、java 命令 jstack pid 观察线程状态。 * @param args

    /*
     * Copyright (C) 2009 The doctor Authors
     * https://github.com/doctorwho1986
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     * http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */


    /**

     * 
     * @author doctor
     *
     * @date 2014年8月23日 下午8:46:37
     */
    public class DeadLock {
    /**
    * 1、linux 命令 kill -3 pid 对于线程状态观察,eclipse console 会输出
    * 2、java 命令 jstack pid 观察线程状态。
    * @param args
    */
    public static void main(String[] args) {

    //得到jvm线程pid,用命令观察线程死锁信息
    System.out.println(ManagementFactory.getRuntimeMXBean().getName());
    DeadLockAB deadLockAB = new DeadLockAB();
    new Thread(new Dead1(deadLockAB)).start();
    new Thread(new Dead2(deadLockAB)).start();


    }


    }


    class DeadLockAB{
    private Object a = new Object();
    private Object b = new Object();

    public void callAB() {
    synchronized (a) {
    System.out.println(Thread.currentThread().getName() + " get a");
    synchronized (b) {
    System.out.println(Thread.currentThread().getName() + " get b");
    }
    System.out.println(Thread.currentThread().getName() + " release b");
    }
    System.out.println(Thread.currentThread().getName() + " release a");
    }

    public void callBA() {
    synchronized (b) {
    System.out.println(Thread.currentThread().getName() + "get b");
    synchronized (a) {
    System.out.println(Thread.currentThread().getName() + " get a");
    }
    System.out.println(Thread.currentThread().getName() + " release a");
    }
    System.out.println(Thread.currentThread().getName() + " release b");
    }
    }


    class Dead1 implements Runnable{


    private DeadLockAB deadLockAB;

    public Dead1(DeadLockAB deadLockAB) {
    this.deadLockAB = deadLockAB;
    }
    @Override
    public void run() {
    try {
    while(true){
    deadLockAB.callAB();
    TimeUnit.SECONDS.sleep((int)Math.random()*10L);
    }

    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    }




    class Dead2 implements Runnable{


    private DeadLockAB deadLockAB;

    public Dead2(DeadLockAB deadLockAB) {
    this.deadLockAB = deadLockAB;
    }
    @Override
    public void run() {
    try {
    while(true){
    deadLockAB.callBA();
    TimeUnit.SECONDS.sleep((int)Math.random()*10L);
    }

    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    }


    当eclipse console 不再出现信息即死锁状态时候,用注释中的两条命令观察信息。


    贴出信息;


    [doctor@localhost ~]$ jstack 18773
    2014-08-23 21:33:17
    Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.11-b03 mixed mode):


    "Attach Listener" #12 daemon prio=9 os_prio=0 tid=0x00007fd268001000 nid=0x4982 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE


    "DestroyJavaVM" #11 prio=5 os_prio=0 tid=0x00007fd2a4009800 nid=0x495b waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE


    "Thread-1" #10 prio=5 os_prio=0 tid=0x00007fd2a40fc000 nid=0x496b waiting for monitor entry [0x00007fd290aea000]
       java.lang.Thread.State: BLOCKED (on object monitor)
    at com.github.jdk.concurrent.DeadLockAB.callBA(DeadLock.java:49)
    - waiting to lock <0x00000000d810a108> (a java.lang.Object)
    - locked <0x00000000d810a118> (a java.lang.Object)
    at com.github.jdk.concurrent.Dead2.run(DeadLock.java:91)
    at java.lang.Thread.run(Thread.java:745)


    "Thread-0" #9 prio=5 os_prio=0 tid=0x00007fd2a40fa000 nid=0x496a waiting for monitor entry [0x00007fd290beb000]
       java.lang.Thread.State: BLOCKED (on object monitor)
    at com.github.jdk.concurrent.DeadLockAB.callAB(DeadLock.java:38)
    - waiting to lock <0x00000000d810a118> (a java.lang.Object)
    - locked <0x00000000d810a108> (a java.lang.Object)
    at com.github.jdk.concurrent.Dead1.run(DeadLock.java:68)
    at java.lang.Thread.run(Thread.java:745)


    "Service Thread" #8 daemon prio=9 os_prio=0 tid=0x00007fd2a40d7000 nid=0x4968 runnable [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE


    "C1 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007fd2a40b1800 nid=0x4967 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE


    "C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007fd2a40b0000 nid=0x4966 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE


    "C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007fd2a40ad000 nid=0x4965 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE


    "Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007fd2a40ab000 nid=0x4964 runnable [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE


    "Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007fd2a407c000 nid=0x4963 in Object.wait() [0x00007fd2a837d000]
       java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000d81809b0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:142)
    - locked <0x00000000d81809b0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:158)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)


    "Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007fd2a4078000 nid=0x4962 in Object.wait() [0x00007fd2a847e000]
       java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000d81889d8> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
    - locked <0x00000000d81889d8> (a java.lang.ref.Reference$Lock)


    "VM Thread" os_prio=0 tid=0x00007fd2a4072800 nid=0x4961 runnable 


    "GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007fd2a401f000 nid=0x495d runnable 


    "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007fd2a4020800 nid=0x495e runnable 


    "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007fd2a4022800 nid=0x495f runnable 


    "GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007fd2a4024000 nid=0x4960 runnable 


    "VM Periodic Task Thread" os_prio=0 tid=0x00007fd2a40e1800 nid=0x4969 waiting on condition 


    JNI global references: 18




    Found one Java-level deadlock:
    =============================
    "Thread-1":
      waiting to lock monitor 0x00007fd274006168 (object 0x00000000d810a108, a java.lang.Object),
      which is held by "Thread-0"
    "Thread-0":
      waiting to lock monitor 0x00007fd274003828 (object 0x00000000d810a118, a java.lang.Object),
      which is held by "Thread-1"


    Java stack information for the threads listed above:
    ===================================================
    "Thread-1":
    at com.github.jdk.concurrent.DeadLockAB.callBA(DeadLock.java:49)
    - waiting to lock <0x00000000d810a108> (a java.lang.Object)
    - locked <0x00000000d810a118> (a java.lang.Object)
    at com.github.jdk.concurrent.Dead2.run(DeadLock.java:91)
    at java.lang.Thread.run(Thread.java:745)
    "Thread-0":
    at com.github.jdk.concurrent.DeadLockAB.callAB(DeadLock.java:38)
    - waiting to lock <0x00000000d810a118> (a java.lang.Object)
    - locked <0x00000000d810a108> (a java.lang.Object)
    at com.github.jdk.concurrent.Dead1.run(DeadLock.java:68)
    at java.lang.Thread.run(Thread.java:745)


    Found 1 deadlock.


    [doctor@localhost ~]$ 

    展开全文
  • Linux上运行时,如何在JBoss中生成线程转储? 如何在Linux上生成JBoss堆栈跟踪? 如何将kill -3的输出重定向到文件? JBoss的cpu使用率很高,冻结,挂起或不释放空闲线程,如何获取线程转储进行故障排除? JMS...
  • 在部署tomcat,有时候使用shutdown.sh关闭线程会失败,很多人都会使用的套路: ps -ef|grep java kill -9 pid 或者 kill -15 pid ps -ef|grep tomcat ...2)kill -l(查看Linux/Unix的信号变量) 这么多呀!!.
  • Java 线程类别

    2018-08-10 10:43:00
    JVM正常退出是与异常退出相对的概念,异常退出如调用System.exit(status)退出JVM进程,调用Linuxkill命令杀死进程等。 JVM正常退出的条件是JVM中所有非守护线程结束任务,即使还有守护线程在运行。 可以通过...
  • 首先,我们要明白,中断不是类似 linux 里面的命令 kill -9 pid,不是说我们中断某个线程,这个线程就停止运行了。中断代表线程状态,每个线程都关联了一个中断状态,是一个 true 或 false 的 boolean 值,初始值为 ...
  • 获取java线程dump文件

    千次阅读 2019-05-13 15:50:30
    死循环、死锁、阻塞、页面打开慢等问题,打线程dump是最好的解决问题的途径。...2)打印线程堆栈,可以通过使用jstack pid命令,在Linux环境下还可以使用kill -3 pid 另外提一点,Thread类提供了一个ge...
  • Java线程堆栈信息查看

    万次阅读 2015-12-15 09:55:58
    LinuxJava程序的线程堆栈查看方法: 第一步:在终端运行Java程序 第二步:通过命令 pidof java 找到已经启动的java进程的ID,选择需要查看的java程序的进程ID 第三步:使用命令 kill -3 打印出java程序的线程堆栈...
  • java开发常用Linux命令

    2021-03-05 14:18:17
    java开发常用Linux命令 查找文件 find -name 文件名 find . -name ".xml" 递归查找所有的xml文件 find . -name ".xml" |xargs grep “hello world” 递归查找所有文件内容中包含hello world的xml文件 查看一...
  • java线程停止的几种方法

    万次阅读 2018-09-09 18:23:04
    要终止一个线程,并不是简单的调用stop()方法,stop()就像linux中的kill一个线程一样是非常暴力的,虽然在Java的API中仍然可以调用stop()方法,但是和suspend,resume方法一样,是过期了的,不建议使用的,因为stop...
  • 要终止一个线程,并不是简单的调用stop()方法,stop()就像linux中的kill一个线程一样是非常暴力的,虽然在Java的API中仍然可以调用stop()方法,但是和suspend,resume方法一样,是过期了的,不建议使用的,因为stop...
  • 查看进程线程方法 ...linux ps -fe 查看所有进程 ps -fT -p <PID> 查看某个进程(PID)的所有线程 kill 杀死进程 top 按大写H切换是否显示线程 top -H -p <PID> 查看某个进程(PID)的所有线程 ...
  • Windows 任务管理器,查看或杀死进程 ...Linux ps -fe 查看所有进程 ps -fT -p 查看某个进程(PID)的所有线程 kill 杀死进程 top 按大写 H 切换是否显示线程 top -H -p 查看某个进程(PID)的所有进程 Java jp
  • 线程Java

    2020-07-13 16:25:07
    Linux:ps kill -9 在进程中至少有一个线程,该线程就是主线程 进程就是线程的集合。 什么是线程 一条程序执行的路径 多线程的好处 提高程序的效率 同时的并行的 多线程的应用场景 1异步的实现发送短信,快速提高...
  • javalinux命令

    2017-11-13 10:51:00
    1.查找文件find / -name filename.txt 根据名称查找/目录下的filename.txt文件。find . -name “*.xml” 递归查找所有的...终止线程kill -9 19979 终止线程号位19979的进程pkill -9 java 批量终止java进程4.查看文...
  • JAVA线程问题分析定位--线程堆栈

    千次阅读 2012-07-13 10:08:44
    Java线程堆栈是一个运行中的Java应用程序的所有线程的一个快照。它会显示一些像当前的堆栈跟踪、状态以及线程名称之类的信息。线程列表中包括由JVM本身创建的线程(负责垃圾收集、信号处理等管理工作)和由应用程序...
  • 查找相关线程 ps aux | grep tomcat ps aux | grep java ps aux | grep node 查找端口 lsof -i:4200 使用 kill杀死线程 kill 线程id 如无法杀死,使用 kill -9 线程id ...
  • 查杀linux线程指令

    千次阅读 2015-01-28 20:29:00
    1.查找需要kill掉的线程: ps -elf|grep 【线程关键信息】 比如:ps -elf|grep java 这样找到所有JAVA 线程 比如要删除tomcat线程,可以执行:ps -elf|grep tomcat 这样就可以找到跟tomcat相关的...
  • 一、进程,线程,任务 (1)、进程(process) ... 关掉某个程序,我们在Linux中经常是换了个说法杀死某个进程,(kill + 进程号)。 因此进程和程序的关系可以看成,进程是程序的动态描述。一个java程序被运行后实...
  • java开发linux常用命令

    2018-10-13 16:45:52
      1、查找文件 find / -name 个人简历.txt #根据名称查找/目录下的个人简历.txt文件 2.查看一个程序是否运行 ps –ef|grep tomcat 查看所有有关tomcat的进程 ...kill -9 19979 终止线程号位19979的线程...
  • Java程序运行的过程中,不但包括开发者启动的主线程和子线程。还包括很多内部线程。了解这些线程,对了解Java工作原理,及复杂环境下debug会有帮助。   ...首先需要查看Java程序的内部... 2.Linux下使用kill -3 pr

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 146
精华内容 58
关键字:

java线程killlinux

java 订阅
linux 订阅