#!/bin/bash while true do sleep 60 file="/tmp/deadlock-detector-$(date +"%Y-%m-%d-%H-%M-%S").txt" for pid in $(jps | grep -v Jps | awk '{ print $1 }') do jcmd "$pid" VM.command_line >> "$file" jcmd "$pid" Thread.print >> "$file" if jcmd "$pid" Thread.print | grep -q SimpleLogger then # check once more to eliminate most of the sporadic finds if jcmd "$pid" Thread.print | grep -q SimpleLogger then jcmd "$pid" GC.heap_dump "/tmp/deadlock-detector-$pid.hprof" fi fi done done &