セットアップ: Ubuntu 12.04、32 ビット。スカラ 2.9.1; Java 1.6.0_24
説明:
bash コマンド ラインではコマンド/usr/bin/timeout 10 scala -version
は正常に動作しますが、bash スクリプト内で実行するとスタックします。
コマンドラインで実行中 (duration< 1
秒):
user@ubuntu:~$ /usr/bin/timeout 10 scala -version
Scala code runner version 2.9.1 -- Copyright 2002-2011, LAMP/EPFL
user@ubuntu:~$ echo $?
1
bash スクリプトに入れられたまったく同じコマンドが動かなくなりました。
testScript.sh
:
#!/bin/bash
/usr/bin/timeout 10 scala -version
echo "finished with $?"
実行testScript.sh
中 (持続時間 10 秒):
user@ubuntu:~/scripts$ ./testScript.sh
Scala code runner version 2.9.1 -- Copyright 2002-2011, LAMP/EPFL
finished with 124
user@ubuntu:~/scripts$
注: この問題は Java (Scala で使用される) では発生せず、Scala 固有の問題のようです。
質問:timeout
スクリプト内の呼び出しがスタックしたのはなぜですか?
これを修正するにはどうすればよいですか / 良い回避策は何ですか?