2013-03-21 5 views
0

Я программист на Java и начал изучать Скала в свободное время. У меня есть эта проблема, которая сводит меня с ума ...Scala jvm не уходит

Каждый раз, когда я запускаю сценарий Scala, в конце выполнения jvm не уходит, и мне всегда приходится убивать процесс сам, очень раздражает

случай является следующее: учитывая маленький привет мир в main.scala файле

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

запустить его с

scala main.scala 

затем остроумие h 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/Библиотека/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)

, но ничего не изменилось. Есть ли у вас такая же проблема?

Большое спасибо

+3

scala.tools.nsc. ** CompileServer **, это не программа, которую вы запустили: она компилирует сервер, который работает в фоновом режиме, чтобы ускорить компиляцию и избежать начальных загрузок –

+0

Спасибо, проблема заключается в компиляцииServer. Не могу ли я настроить время, чтобы жить для сервера? однако при использовании scalac проблема не показывает ... – besil

+2

Если это fsc, вы можете либо выдать 'fsc -shutdown', чтобы полностью остановить экземпляр, либо предоставить параметр' -max-idle n' при запуске fsc (возможно, в определении sbt, но Я не уверен), где n - это время в минутах, после которого fsc опускается, 0 - для бессмертного fsc. –

ответ

0

Вы можете исследовать другой подход, чтобы запустить SCALA скрипт:

  • Самый продвинутый один использует scalas из SBT, которые позволяют вам иметь дело с зависимостями
+0

Спасибо, я буду исследовать. – besil

+0

@besil Вы нашли решение? –

Смежные вопросы