2012-05-14 10 views
0

HashMap.put関数に関する問題を生成しようとしています.100スレッド以上実行されるテスト・コードを作成しました。jstackを使用するかkill I'am私のプロセスの特定のスレッドのスレッドダンプを取得することができます。問題は、スレッドのダンプを即座にキャプチャできません。プロセスが終了するまでファイルにすべてのスレッドダンプが記録されます。これを行うために書くことができるシェルスクリプト?プロセスのスレッド・ダンプ・ログを収集するためのunixスクリプト

+0

は、ファイルにコードの出力をリダイレクトし、 '殺す-3'、それを? – sendmoreinfo

答えて

1
#!/bin/bash 

if [ $# -eq 0 ]; then 
    echo >&2 "Usage: jstackSeries [ <count> [ <delay> ] ]" 
    echo >&2 " Defaults: count = 10, delay = 1 (seconds)" 
    exit 1 
fi 

pid=$1   # required 
count=${2:-10} # defaults to 10 times 
delay=${3:-1} # defaults to 1 second 

while [ $count -gt 0 ] 
do 
    jstack $pid >jstack.$pid.$(date +%H%M%S.%N) 
    sleep $delay 
    let count-- 
    echo -n "." 
done 

はこちらをご参照:

http://howtodoinjava.com/2012/12/19/how-to-get-thread-dump-in-linux-using-jstack/

関連する問題