Quitada ブログ RX

Quitada ブログ RX

PR

×

キーワードサーチ

▼キーワード検索

プロフィール

quitada 2.0

quitada 2.0

カレンダー

カテゴリ

(284)

SEO

(144)

金持ち父さん

(640)

生活

(215)

パソコン弄り

(136)

友人

(63)

IT

(160)

飲食

(134)

書評

(14)

My ブログ

(297)

BBC

(7)

健康

(7)

コメント新着

Robertalila@ Кому повезет в 2026 году, китайский гороскоп Китайские звёзды 2026: только три знака…
WalterAgono@ Статья для размышлений Правовые риски обычной проституции и пр…
Haroldcloni@ строительство-отделка.рф Подберем персонал Первый шаг в подборе…
DimaFlunK@ шкаф для посуды на кухню [url= <small> <a href="https://mebel-ko…
2006年05月28日
XML
カテゴリ: IT
検討編 で、Windows にてコマンドプロンプトがでていない状態でスレッドダンプを取得する方法を色々と検討しましたが、どれも一長一短があることが露呈してしまったわけです。

もっとジェネラルな方法はないでしょうか。ということで、原点に立ち返って検討してみます。

そもそも、キーボードから Ctrl + Break を押下すると、所謂 Ctrl-Break シグナルが送信されるわけです。それをうけとった JVM プロセスは、スレッドダンプをはくようになっているわけです。UNIX 系でいうところの SIGQUIT 送信ですね。UNIX 系の場合は、

kill -QUIT <所定のプロセス ID>

でこれを実現できるので、java アプリケーションを起動したコマンドプロンプト等がなくてもコマンドレベルでスレッドダンプが取得できるわけですね。

つまり、 kill -QUIT のような動きを実現するようなコマンドが Windows にあれば、 問題提起編 検討編 でぶちあたった様々な問題が解決するわけで。

ということでありました!

SendSignal

というツールです。使い方は、

SendSignal <所定の JVM プロセス ID>

です。これで、指定した JVM プロセスに Ctrl-Break シグナルを送信できて、スレッドダンプをはくわけですね。もちろん、事前に標準出力をファイルにリダイレクトしておく必要がありますが。exe ファイルなので、ダウンロードして PATH の通っているフォルダにおいておくといいですね。

あー、すっきり!





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2012年11月02日 06時36分13秒
コメント(6) | コメントを書く
[IT] カテゴリの最新記事


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


ちなみに…  
quitada 2.0  さん
Windows でプロセス ID を取得するには、tasklist とうコマンドが便利。
http://itpro.nikkeibp.co.jp/free/NT/WinKeyWord/20040805/1/tasklist.shtml
(2006年06月08日 03時18分57秒)

ナイスサイト!  
quitada 2.0  さん
Windows サービス起動でスレッドダンプをとる方法について、グラフィカルでナイスなサイトはこちら。
http://yusuke.homeip.net/diary/2006/09/24/1159032652540.html
(2006年09月26日 00時46分27秒)

Re:Windows で java スレッドダンプ取得 - 原点回帰編(05/28)  
ksan さん
プロセスを落とそうとすると下記のメッセージがでます。
Access denied; retrying with increased privileges.
権限ってなにを変更すればよいのですかね?? (2007年02月26日 19時19分11秒)

Re[1]:Windows で java スレッドダンプ取得 - 原点回帰編(05/28)  
quitada 2.0  さん
ksanさん
>プロセスを落とそうとすると下記のメッセージがでます。
>Access denied; retrying with increased privileges.
>権限ってなにを変更すればよいのですかね??
-----

JVM プロセスを起動している Windows のユーザーで SendSignal を実行すればいいと思います。

JVM プロセスをサービス起動している場合は、おそらく管理者権限をもつユーザーでログインして、SendSignal を実行すればよいかと思われます。
(2007年02月26日 19時34分14秒)

WLST を使ったスクリプト  
quitada 2.0  さん
WebLogic Server でスレッドダンプを採取するスクリプト
http://d.hatena.ne.jp/hnamaizawa/20120422/p1
(2012年04月22日 22時28分46秒)

Re:Windows で java スレッドダンプ取得 - 原点回帰編(05/28)  
quitada 2.0  さん
.Net で Java でいうところのスレッドダンプ的なものを取得するツール?C# あたりで役に立ちそう-> Managed Stack Explorer
https://mse.codeplex.com
(2016年03月31日 09時58分23秒)

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: