建立:
Ubuntu 12.04,32位; Scala 2.9.1; Java 1.6.0_24
Ubuntu 12.04,32位; Scala 2.9.1; Java 1.6.0_24
描述:@H_502_3@
在bash命令行上,命令/usr/bin/timeout 10 scala -version工作正常,在bash脚本中执行时会卡住.@H_502_3@
在命令行执行(持续时间<1秒): @H_502_3@
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脚本的命令卡住了:@H_502_3@
testScript.sh:@H_502_3@
#!/bin/bash /usr/bin/timeout 10 scala -version echo "finished with $?"
执行testScript.sh(持续时间10秒):@H_502_3@
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特定的问题.@H_502_3@
尝试包含–foreground选项.从男子超时:
–foreground@H_502_3@
When not running timeout directly from a shell prompt,allow COMMAND to read from the TTY and receive TTY signals. In this mode,children of COMMAND will not be timed out.@H_502_3@
使用以下测试脚本:@H_502_3@
#!/bin/bash /usr/bin/timeout --foreground 10 scala -version echo "finished with $?"它似乎工作正常.@H_502_3@
$./test.sh Scala code runner version 2.9.1 -- Copyright 2002-2011,LAMP/EPFL finished with 1没有–foreground脚本会像你所描述的那样挂起.@H_502_3@