JNI を使用していますが、ターゲット アプリケーションでエラーが原因でクラッシュが発生すると、hs_err_pid*.log ファイルが生成されます。そのファイルが保存されているデフォルトの場所を変更したい。さて、調べてみると、JVM 引数 -XX:ErrorFile を使用してこれを実現できることがわかりました。
ドキュメントによると、このパラメーターのデフォルトは ./hs_err_pid <
pid >
.logです。
ここで、デフォルトをオーバーライドするときに、ファイル名にプロセス ID を含めるように JVM に指示するにはどうすればよいでしょうか? コマンド ライン パラメータとして文字通り targetDir/hs_err_pid <
pid >
.log を入力しようとしたのは明らかですが、これにより引数全体が無視されます (そして、ファイルはデフォルトの場所、つまり作業ディレクトリに保存されます)。targetDir/hs_err_pid.log とだけ言うと、ファイルは必要な場所に保存されますが、ファイル名にプロセス ID が追加されません。
任意の提案をいただければ幸いです。