Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala jvm不退出_Scala_Jvm_Exit - Fatal编程技术网

Scala jvm不退出

Scala jvm不退出,scala,jvm,exit,Scala,Jvm,Exit,我是一名Java程序员,在业余时间开始学习Scala。 这个小问题会让我发疯 每次我运行Scala脚本时,在执行结束时,jvm都不会退出,而且我总是不得不自己终止这个进程,这很烦人 情况如下:给定main.scala文件中的hello world object Main { def main(args: Array[String]): Unit = { println("Hello world") } } 用它运行 scala main.scala 然后用ps-

我是一名Java程序员,在业余时间开始学习Scala。 这个小问题会让我发疯

每次我运行Scala脚本时,在执行结束时,jvm都不会退出,而且我总是不得不自己终止这个进程,这很烦人

情况如下:给定main.scala文件中的hello world

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

scala main.scala
然后用ps-ef我就有了

501 5739 5727 0 9:46下午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/scala/scala-2.10.1/lib/scala-2.10.1/scala-jaryStuff/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/typesafe-config.jar:/MyStuff-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脚本:

  • 最高级的是使用fromsbt,它允许您处理依赖关系

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