如何优雅地终止从scala创建的进程
发布时间:2020-12-16 18:43:20 所属栏目:安全 来源:网络整理
导读:我目前正在使用 scala进程API scala.sys.process但是,我似乎无法弄清楚如何优雅地终止对SIGTERM信号做出反应的进程.我已经在 python中完成了之前,在进程上有非常终止和send_signal函数,但在scala scala.sys.process.Process对象上,我看到的只是destroy.对我
我目前正在使用
scala进程API
scala.sys.process但是,我似乎无法弄清楚如何优雅地终止对SIGTERM信号做出反应的进程.我已经在
python中完成了之前,在进程上有非常终止和send_signal函数,但在scala scala.sys.process.Process对象上,我看到的只是destroy.对我来说,看起来scala会从轨道上对我的过程进行核对,只是为了确定,这不是我想要的.
我怎么能告诉这个进程它应该清理自己并退出我的scala代码? val launcher = Process("myprocess",Seq("args")) val process = launcher.run() process.destroy() //Err... no? terminate or equivalent like in python please? 编辑 有关更多详细信息:我的scala进程正在启动一个C子进程,它监听信号处理程序(SIGTERM,SIGKILL等)以了解何时退出.它经过了很好的测试,并且可以正确清洁.我的问题是我不知道如何从我的scala应用程序发送该信号!因此,我的C进程总是被拖到外面拍摄而不是被要求停止. 解决方法
Scala Process的东西基于Java,因此受到相同的限制. Java提供了一个非常糟糕的接口.也许它可以在更多系统上使用相同的界面,但它对那些在Posix系统上工作的人来说是非常有限的.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |