• ベストアンサー

コマンドの戻り値が「130」

linux初心者です。 下記のようなシェルを作成して実行したとき、javaの実行途中で [ctrl+c]で中断すると戻り値(echoのところ)が130となります。 これってjavaの仕様ですか?ググっても見つからなかったもので。 ---------------- #!/bin/sh java Exec echo $? ---------------- ・環境 redhat enterprise linux 4  jdk1.5

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

シェルの仕様ですね。man bash に書いてあります。 >単純なコマンドの返り値はコマンドの終了コードですが、シグナル n を受けてコマンドが終了した場合には 128+n となります。 Ctrl-C をタイプすると、プロセスに2番のシグナル(SIGINT)が送られます。その場合、プロセスは普通終了します。シェルが返す終了コードは、(128+シグナル番号)になるので、この場合130になります。

hokuro777
質問者

お礼

なるほど。そういう仕様なんですか。 コマンドの終了コードを128以上にするとわからなくなっちゃうんですね。 もう少しドキュメントを見るようにします。 ありがとうございました。

関連するQ&A