GNU/Linux >> Linux の 問題 >  >> Linux

com.sun.tools.attach.AttachNotSupportedException:ソケット ファイルを開けません:ターゲット プロセスが応答していないか、HotSpot VM がロードされていません

私の答えは少し無関係ですが、 jcmd を使用してスレッドをダンプしようとしたときに同じ問題が発生しました . jcmd を実行していても、同じエラー メッセージが表示されました。 ルートの下 ユーザー。

jcmd <pid> Thread.print を実行する必要があります Java プロセスと同じユーザーの下 そうしないと、接続が切断されます。 Java は root かどうかを気にしません

基本的に:

sudo -u <java_process_user> jcmd <pid> Thread.print

とりあえず回避してください。

'-XX:+StartAttachListener' を追加 jvm引数に問題を修正しました。

同様の問題が https://code.google.com/p/jmockit/issues/detail?id=136 および http://mail.openjdk.java.net/pipermail/macosx-port-dev/2013 で議論されています-October/006098.html (jdk7 ビルドでのリグレッションの可能性について説明)


@bbarkerのように、同じエラーが発生しましたが、JDK 1.8.0_161でWindows 10のLinuxサブシステムを使用しています(「WindowsのUbuntuでBash」)。上記の JVM 引数を使用して Surefire プラグインを構成すると、問題も解決されました。

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.21.0</version>
        <configuration>
            <argLine>-XX:+StartAttachListener</argLine>
        </configuration>
    </plugin>

ただし、「通常の」Windows コマンド プロンプトからテストを実行すると、上記がなくても機能します。


Linux
  1. なぜCdはプログラムではないのですか?

  2. 開いているが削除された大きなファイルを見つけて削除しますか?

  3. Rsync〜/ foo Target / fooはRsync〜/ foo / Target / foo /と同じですか?

  1. C fopen と open

  2. crontab ファイルを開くエディタを指定するには? export EDITOR=vi は機能しません

  3. Docker がターミナルで CTRL+C に応答しない

  1. piwik:入力ファイルを開けませんでした:./ console

  2. コンテナー プロセスの開始により、exec:> \exec\:実行可能ファイルが $PATH に見つかりません:不明

  3. 開いているファイル記述子を表示するが、lsof コマンドを使用しない方法