Java Platform, Standard Editionトラブルシューティング・ガイド
目次      

Oracle SolarisおよびLinuxで使用されるシグナル

シグナルの使用を減らすために-Xrsオプションを指定すると、「オプション」としてタグ付けされたシグナルは使用されません。このオプションを使用すると、使用されるシグナルの数が減りますが、VMはSIGSEGVなどの基本的なシグナルのために独自のシグナル・ハンドラをインストールします。このオプションを指定すると、プロセスがSIGQUITSIGTERMSIGINT、またはSIGHUPを受信した場合にシャットダウン・フック・メカニズムが実行されなくなります。VMが正常終了した場合(つまり、最後の非デーモン・スレッドが完了するか、System.exitメソッドが呼び出されると)、シャットダウン・フックが予想どおり実行されます。

Oracle Solaris 8および9オペレーティング・システムでは、代替シグナルを使用するために-XX:+UseAltSigsオプションを指定すると、「構成可能」としてタグ付けされたシグナルは置き換えられます。Oracle Solaris 10オペレーティング・システム以降では、オペレーティング・システムが(SIGJVM1およびSIGJVM2という名前の) 2つの追加シグナルを予約しているため、このオプションは無視されます。

Linuxでは、SIGUSR1のハンドラをオーバーライドすることはできません。SIGUSR2は、suspendとresumeを実装するために使用されます。ただし、SIGUSR2の代わりに代替シグナルを使用するように指定することも可能です。これを行うには、_JAVA_SR_SIGNUM環境変数を指定します。この環境変数を設定する場合は、SIGSEGVおよびSIGBUSの最大より大きい値に設定する必要があります。

目次      

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.