現在、scala プロセス API を使用していますが、SIGTERM シグナルに反応するプロセスを正常に終了する方法scala.sys.process
がわかりません。プロセスにかなりと関数がある前にPythonでそれをやったことがありますが、スカラオブジェクトでは、私が見るのは. 私には、確かに、scalaが私のプロセスを軌道から破壊するように見えますが、それは私が望んでいることではありません。terminate
send_signal
scala.sys.process.Process
destroy
このプロセスに、自分自身をクリーンアップして scala コードから終了するように指示するにはどうすればよいですか?
val launcher = Process("myprocess", Seq("args"))
val process = launcher.run()
process.destroy() //Err... no? terminate or equivalent like in python please?
編集
詳細について: 私の scala プロセスは、いつ終了するかを知るためにシグナル ハンドラー (SIGTERM、SIGKILL など) をリッスンする C++ サブプロセスを起動しています。十分にテストされており、正しくクリーニングされます。私の問題は、scala アプリケーションからそのシグナルを送信する方法がわからないことです! したがって、私の C++ プロセスは、単に停止するように求められるのではなく、常に外に引きずり出されて撃たれます。