# 1、查看当前系统运行的 java 程序(简略)
jps -l
632
6328 sun.tools.jps.Jps
# 2、查看当前系统运行的 java 程序(详细)
jps -lmvV
632 -Dosgi.requiredJavaVersion=1.8 -Dosgi.instance.area.default=@user.home/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -Declipse.p2.max.threads=10 -Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest -Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
6335 sun.tools.jps.Jps -lmvV -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home -Xms8m
# 3、查看java进程的线程执行状态
jstack -l 632
2018-05-24 17:20:58
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.131-b11 mixed mode):
"Attach Listener" #24 daemon prio=9 os_prio=31 tid=0x00007f85590a9000 nid=0x12913 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"logback configurator timer" #19 daemon prio=5 os_prio=31 tid=0x00007f8557a0b000 nid=0x1070b in Object.wait() [0x0000700011e05000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:552)
- locked <0x0000000786c51310> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:505)
Locked ownable synchronizers:
- None
"EMF Reference Cleaner" #18 daemon prio=5 os_prio=31 tid=0x00007f8556a3c800 nid=0x11a27 in Object.wait() [0x0000700011d02000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000786b047e8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x0000000786b047e8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at org.eclipse.emf.common.util.CommonUtil$1ReferenceClearingQueuePollingThread.run(CommonUtil.java:70)
Locked ownable synchronizers:
- None
"Worker-JM" #17 prio=5 os_prio=31 tid=0x00007f855a214000 nid=0x11237 in Object.wait() [0x0000700011bff000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000786904e30> (a java.util.ArrayList)
at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:59)
- locked <0x0000000786904e30> (a java.util.ArrayList)
Locked ownable synchronizers:
- None
"SCR Component Actor" #16 daemon prio=5 os_prio=31 tid=0x00007f855a03f000 nid=0xcc07 in Object.wait() [0x0000700011afc000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000786904fc0> (a java.util.LinkedList)
at java.lang.Object.wait(Object.java:502)
at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:80)
- locked <0x0000000786904fc0> (a java.util.LinkedList)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Framework Event Dispatcher: org.eclipse.osgi.internal.framework.EquinoxEventPublisher@41c89d2f" #15 daemon prio=5 os_prio=31 tid=0x00007f85579d7000 nid=0xca03 in Object.wait() [0x00007000119f9000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000786904ff8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:502)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
- locked <0x0000000786904ff8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)
Locked ownable synchronizers:
- None
"Start Level: Equinox Container: 5d0c2c4a-f591-4e43-8c7e-392bc4862274" #14 daemon prio=5 os_prio=31 tid=0x00007f85590c1800 nid=0xc907 in Object.wait() [0x00007000118f6000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000786b04818> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:502)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
- locked <0x0000000786b04818> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)
Locked ownable synchronizers:
- None
"Active Thread: Equinox Container: 5d0c2c4a-f591-4e43-8c7e-392bc4862274" #12 prio=5 os_prio=31 tid=0x00007f8557160800 nid=0xc717 waiting on condition [0x00007000117f3000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000780f588a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSup