gpt4 book ai didi

scala - 从 Scala 中杀死一个挂起的进程

转载 作者:行者123 更新时间:2023-12-01 02:49:54 25 4
gpt4 key购买 nike

我的代码必须调用一些有时会挂起的外部程序。 (无限循环,永远不会回来)

要启动我使用的外部流程:

import tools.nsc.io.Process
val res = Process("ls")
res.foreach(println)
res.waitFor // waits until a Process is finished but if it's hanging waitFor will not return or
res.destroy // kills a process

但是我没有找到检查进程是否仍在运行的方法。或 waitFor(time) 以便我只等待一段时间。

我相信他们应该是一个简单的解决方案,但我找不到它......

最佳答案

据我所知方法exitValueProcess定义如下:

def exitValue(): Option[Int] =
catching(classOf[IllegalThreadStateException]) opt process.exitValue()

所以你可以检查是否 exitValue()返回 NoneSome值(value)。 None表示该进程仍在运行。它来自 documentation to Java Process.exitValue()

关于scala - 从 Scala 中杀死一个挂起的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5742412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com