jstack - よく知られたファイルは安全ではありません 質問する

jstack - よく知られたファイルは安全ではありません 質問する

私は 32 ビット Oracle Java 1.6.0 を使用して、x86_64 CentOS 5.7 上で tomcat 5.5 を実行しています。

tomcat が使用する JVM プロセスの pid は 6421 です。Tomcat は正常に動作しています。

実行するとjstack次のエラーで失敗します:

[root@mybox ~]# jstack 6421
6421: well-known file is not secure

適切な出力を得るには、force オプションを使用する必要があります。

[root@mybox ~]# jstack -F 6421
Attaching to process ID 6421, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 17.0-b16
Deadlock Detection:

No deadlocks found.
(...)

質問は:

  1. エラーメッセージは何を意味するのか「よく知られているファイルは安全ではありません」平均?
  2. 「よく知られている」ファイルとは何ですか?
  3. jstack強制オプションなしでコマンドが機能しないのはなぜですか?

前もって感謝します。

ベストアンサー1

これは、プロセスとの通信に使用される/tmp内のファイルが、jstack取得します。問題のファイルは /tmp/hsperfdata_$USER/$PID です。

マニュアル ページには「'jstack [-l] pid' が応答しない場合はスタック ダンプを強制します」とだけ記載されているため、-F で機能する理由がわかりません。

おすすめ記事