【问题标题】:Scala jvm not quittingScala jvm没有退出
【发布时间】:2013-03-11 13:54:45
【问题描述】:

我是一名 Java 程序员,在空闲时间开始学习 Scala。 有这个小问题让我发疯...

每次运行Scala脚本,在执行结束的时候,jvm不退出,总是要自己kill掉进程,挺烦的

案例如下:给定 main.scala 文件中的 little hello world

object Main {
    def main(args: Array[String]): Unit = {
       println("Hello world")
    }
}

运行它

scala main.scala

然后用 ps -ef 我有

501 5739 5727 0 9:46PM ttys000 0:18.08 /usr/bin/java -Xmx256M -Xms32M -Xbootclasspath/a:/MyStuff/ScalaFiles/scala-2.10.1/lib/akka-actors.jar:/MyStuff /ScalaFiles/scala-2.10.1/lib/jline.jar:/MyStuff/ScalaFiles/scala-2.10.1/lib/scala-actors-migration.jar:/MyStuff/ScalaFiles/scala-2.10.1/lib/scala -actors.jar:/MyStuff/ScalaFiles/scala-2.10.1/lib/scala-compiler.jar:/MyStuff/ScalaFiles/scala-2.10.1/lib/scala-library.jar:/MyStuff/ScalaFiles/scala- 2.10.1/lib/scala-partest.jar:/MyStuff/ScalaFiles/scala-2.10.1/lib/scala-reflect.jar:/MyStuff/ScalaFiles/scala-2.10.1/lib/scala-swing.jar: /MyStuff/ScalaFiles/scala-2.10.1/lib/scalap.jar:/MyStuff/ScalaFiles/scala-2.10.1/lib/typesafe-config.jar -classpath "" -Dscala.home=/MyStuff/ScalaFiles/scala -2.10.1 -Dscala.usejavacp=true scala.tools.nsc.MainGenericRunner scala.tools.nsc.CompileServer

当然是jvm,得自己退出。

我试过了

System.exit(0)

sys.exit(0)

但没有任何改变。 你有同样的问题吗?

非常感谢

【问题讨论】:

  • scala.tools.nsc。 CompileServer,它不是你运行的程序:它是在后台运行的编译服务器,以加快编译速度并避免启动开销
  • 谢谢,问题出在 compileServer。我不能为服务器设置一个生存时间吗?但是使用 scalac 问题不会显示...
  • 如果这是 fsc,您可以发出 fsc -shutdown 以完全停止实例或在 fsc 启动时提供 -max-idle n 选项(可能在 sbt 定义中,但我不确定),其中 n 是时间在 fsc 关闭后的几分钟内,0 表示不朽 fsc。
  • @besil 你能解决这个问题吗?

标签: scala jvm exit


【解决方案1】:

您可能想研究一种不同的方法来运行 scala 脚本:

  • 最高级的是使用来自 SBT 的 scalas,它允许您处理依赖关系

【讨论】:

  • 谢谢,我会调查的。
  • @besil 你找到解决方案了吗?
猜你喜欢
  • 2019-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 1970-01-01
相关资源
最近更新 更多