1. ホーム
  2. java

[解決済み] jstack - よく知られたファイルは安全ではありません。

2022-02-11 07:31:21

質問

tomcat 5.5 を x86_64 CentOS 5.7 上で 32-bit Oracle Java 1.6.0 を使って運用しています。

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. well-known"ファイルとは何ですか?
  3. はなぜ/いつ jstack コマンドは、force オプションがないと動作しないのですか?

よろしくお願いします。

どのように解決するのですか?

これは、プロセスとの通信に使用される /tmp のファイルのパーミッションが Jスタック を取得します。問題のファイルは、/tmp/hsperfdata_$USER/$PIDです。

jstack [-l] pid'が応答しない場合にスタックダンプを実行する "と書かれているだけなので、なぜ-Fで動作するのかわかりません。