redhat linux üzerinde openjdk-1.8 kullanarak denediğimde jps & jcmd bana hiçbir sonuç göstermiyordu. Ancak yapsa bile, yalnızca benim durumumda çalışmayan mevcut kullanıcının altındaki işlemleri gösterir. Yaptığım şey ps | grep'i kullanmaktı, ancak bazı java uygulamaları için sınıf yolu aşırı uzun olabilir, bu da sonuçları okunaksız hale getirir, bu yüzden kaldırmak için sed kullandım. Bu biraz kaba ama yine de PID, Kullanıcı, java sınıfı / jar, args dışında her şeyi kaldırıyor.
ps -o pid,user,cmd -C java | sed -e 's/\([0-9]\+ *[^ ]*\) *[^ ]* *\([^$]*\)/\1 \2/' -e 's/-c[^ ]* [^ ]* \|-[^ ]* //g'
Sonuçlar şuna benzer:
PID USER CMD
11251 userb org.apache.zookeeper.server.quorum.QuorumPeerMain ../config/zookeeper.properties
19574 userb com.intellij.idea.Main
28807 root org.apache.nifi.bootstrap.RunNiFi run
28829 root org.apache.nifi.NiFi
Windows'ta tüm işlemleri listelemek için bir alternatif:
WMIC path win32_process where "Caption='java.exe'" get ProcessId,Commandline
Ancak bunun daha okunaklı olması için biraz ayrıştırılması gerekecek.